Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Witam.
Potrzebuje pobrać rozmiar zdjęcia, które znajduje się na zewnętrznym folderze, a co najważniejsze potrzebuje to zrobić szybko. Rzecz ma się następująco... łączę się przy użyciu php przez protokół FTP z serwerem, pobieram listę zdjęć i chcę wyświetlić miniatury tych zdjęć i jednocześnie wyświetlić rozmiar oryginalnego zdjęcia, dlatego potrzebuję szybkiego pobierania rozmiaru zdjęcia. Mogę to zrobić za pomocą funkcji
I działa. Mogę to zrobić za pomocą biblioteki CURL
i też działa. Problem pojawia się gdy muszę pobrać tą informację dla większej ilości zdjęć. Dlatego potrzebuję szybkiej metody aby to zrobić, może ktoś ma jakiś pomysł? Z góry dziękuję za odpowiedź. Pozdrawiam. Ten post edytował my_key 28.07.2009, 18:53:42 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Problem pojawia się gdy muszę pobrać tą informację dla większej ilości zdjęć. Dlatego potrzebuję szybkiej metody aby to zrobić, może ktoś ma jakiś pomysł? Zrób sobie skrypt, który działa po stronie serwera źródłowego - wywołanie ze ścieżką do obrazka, zwraca Ci wymiary. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Jak możesz zaobserwować korzystam z tych funkcji...
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%)
|
Jak możesz zaobserwować korzystam z tych funkcji... Nie zauważyłem, sory. A nie można przechowywać danych o rozmiarach w bazie danych? Jeśli nie ma w bazie to pobierasz i zapisujesz rozmiary, jeśli jest zapisane w bazie to tylko wyświetlasz. Coś na wzór buforowania. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Zapisanie danych w bazie danych nie wchodzi w grę.
A może ktoś wie na których bitach plików graficznych zapisane są rozmiary obrazu? Albo ktoś zna link gdzie mógłbym to wyczytać? Ten post edytował my_key 28.07.2009, 19:49:48 |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Wikipedia: format pliku i przełączasz na angielski.
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%)
|
Zapisanie danych w bazie danych nie wchodzi w grę. A może ktoś wie na których bitach plików graficznych zapisane są rozmiary obrazu? Albo ktoś zna link gdzie mógłbym to wyczytać? Jak znajdziesz rozwiązanie problemu, to byłbym zobowiazany za podzielenie się tą wiedzą. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 6 Dołączył: 11.11.2005 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 2 Dołączył: 27.08.2008 Ostrzeżenie: (0%)
|
http://pastebin.4programmers.net/307
ale tak jak już podlinkował erix - getimagesize() pobiera dane z nagłówków, dlatego jest bardziej optymalny niż download całego pliku i przetwarzanie go przez GD... Ten post edytował DJ ProG 28.07.2009, 21:07:22 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Hmm to skoro metoda getimagesize() pobiera informacje z nagłówków to powinna być najszybsza... z tym, że dla wolnego łącza przy większej ilość obrazków jest jeszcze za wolna i się nie wyrabia w czasie wykonywania skryptu, stąd było moje pytanie, czy jest coś szybsze... No ale chyba nie ma, wiec pozostaje AJAX i doczytywanie danych.
|
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat z tym, że dla wolnego łącza przy większej ilość obrazków jest jeszcze za wolna i się nie wyrabia w czasie wykonywania skryptu, stąd było moje pytanie, czy jest coś szybsze... Hmm, nie używałem nigdy getimagesize" title="Zobacz w manualu PHP" target="_manual dla zdalnych plików, ale jeśli skorzystasz z tej lekko zmodyfikowanej wersji, to wystarczy odczytać max pół kilobajta każdego pliku. Ale to nie zmienia faktu, że najlepiej by było zrobić skrypt-dyspozytor, który by w odpowiedzi podawał same wymiary. |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Ale to nie zmienia faktu, że najlepiej by było zrobić skrypt-dyspozytor, który by w odpowiedzi podawał same wymiary. Masz na myśli skrypt umieszczony na serwerze który zwróci wymiary zdjęcia? Jeżeli tak, to jest to pewne rozwiązanie, jednak nie chciałbym się uciekać do takiej metody aby uniknąć wgrywania dodatkowego skryptu dla wielu kont. |
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Masz na myśli skrypt umieszczony na serwerze który zwróci wymiary zdjęcia? Właśnie. Cytat Jeżeli tak, to jest to pewne rozwiązanie, jednak nie chciałbym się uciekać do takiej metody aby uniknąć wgrywania dodatkowego skryptu dla wielu kont. No to jaki problem odpalać go via sudoers? Najmniejszy ruch wtedy byś miał, no bo co by ten skrypt więcej zwracał? 123x456? Max 10 bajtów, a nie kilkaset, gdybyś musiał przez nagłówki pobierać (GIF/PNG nie, ale JPEG). |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 5.03.2006 Ostrzeżenie: (0%)
|
Cytat No to jaki problem odpalać go via sudoers? Chyba nie kapuje:) Cytat Najmniejszy ruch wtedy byś miał, no bo co by ten skrypt więcej zwracał? 123x456? Dokładnie tak, potrzebuje jedynie pobrać rozmiar danego zdjęcia. Skrypt będzie działał na zasadzie bardzo prostego klienta FTP, mam dane do FTP, łączę się do serwera i pobieram pliki... Musiałbym umieszczać na każdym serwerze z którym się łączę skrypt odpowiedzialny za zwrócenie rozmiaru zdjęcia. I pewnie jeżeli nie znajdę innego rozwiązania tak będę musiał postąpić. Pytanie tylko o co chodzi z tym "sudoers" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 13:51 |