adbacz
3.09.2011, 15:23:21
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
3.09.2011, 15:33:16
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
3.09.2011, 15:33:20
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
3.09.2011, 15:54:24
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
3.09.2011, 16:20:27
Masz na myśli rozdzielczość (np. 72
PPI) czy wymiary (np. 1920 x 1080)?
adbacz
3.09.2011, 16:55:07
No tak, mój błąd. Chodzi mi o wymary obrazka jak podane 1920 x 1080.
getimagesize i wszystko powinno być jasne
adbacz
3.09.2011, 17:35:01
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
5.09.2011, 13:10:31
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
5.09.2011, 14:53:28
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.