Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozdzielczość obrazka spoza serwera lokalnego
Forum PHP.pl > Forum > PHP
adbacz
Witam,

Pisze prostą funkcję, która sprawdza czy plik w podanej ścieżce istnieje i czy jest obrazkiem. Jeśli tak, to zwraca jego dane takie jak np. rozdzielczość. Wszystko ładnie działa ale napotkałem problem z plikami spoza serwera lokalnego. Jesli plik znajduje się u nas na serwerze to sprawdzam funkcją getimagesize().

Pytanie brzmi: Jak sprawdzić przede wszystkim jakie ma wymiary obrazek, który znajduje się poza naszym serwerem?

Szukałem na Google i trochę tutaj na forum, ale nie znalazłem nic co by mi pomogło. Najwyraźniej nie umiem szukać albo źle wpisywałem zapytania. Z góry dziękuję za wszelką pomoc.
Crozin
1. Możesz pobrać cały plik na dysk serwera. Wtedy to już plik lokalny i po problemie. Po sprawdzeniu usuwasz plik.
2. Możesz rozpocząć pobieranie pliku i od razu rozpocząć jego przetwarzanie. Chyba wszystkie formaty trzymają informacje o wymiarach gdzieś na początku pliku, więc pobierasz mało danych. Minusem jest oczywiście konieczność ręcznej obsługi pliku, wg specyfikacji jego formatu.
zegarek84
musisz ściągnąć sobie ten plik jako tymczasowy na swój serwer... wiele funkcji obsługuje podanie adresu url... na wielu serwerach zazwyczaj jest dozwolone otwieranie adresów url... i jeśli tak jest u Ciebie to ten plik możesz pobrać choćby przez file_get_contents i dopiero potem obsłużysz...

z kolei po stronie przeglądarki w JS możesz to sprawdzić za pomocą obiektu Image...
adbacz
Dzięki za rady. Użyłem funkcji file_get_content(). Oczywiście działa, ale czy mógłbym prosić jakieś dodatkowe rady co do odczytu rozdzielczości? Niestety jestem za "mało mądry" do tego a google niezbyt pomaga.
Crozin
Masz na myśli rozdzielczość (np. 72 PPI) czy wymiary (np. 1920 x 1080)?
adbacz
No tak, mój błąd. Chodzi mi o wymary obrazka jak podane 1920 x 1080.
Ruio
getimagesize i wszystko powinno być jasne smile.gif
adbacz
Ruio - wiem, ale getimagesize() pobiera jako wartość ścieżke do pliku na serwerze lokalnym (path: images/obraz.jpg). A ja chciałbym wiedzieć rozmiary pliku spoza serwera lokalnego (path: http://google.pl/images/google_logo.gif).
by_ikar
No tak, ale wcześniej pobierasz sobie ten plik na serwer, a następnie odczytujesz jego rozmiar. Już w pierwszym poście tego tematu masz odpowiedź.
adbacz
Dobrze, dziękuję wszystkim za odpowiedzi. Spróbuje się pobawić tak jak pisaliście. Dzięki wielkie...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.