Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%)
|
Witam, mam taki problem, że funkcja getimagesize zwraca zawsze false z obrazków które znajdują się na moim serwerze.
Zastanawiam się czy to nie jest czasem zasługa htaccess i komendy Kod RewriteRule ^(.+)$ index.php?page=$1 [QSA,L] Jeżeli to przez to to jak mogę zmienić tą linię aby nie dotyczyło plików graficznych? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Jaką ścieżkę do obrazka podajesz do getimagesize, serwerową czy po http?
Czy obrazki są na tym samym serwerze co skrypt? Powinieneś używać ścieżki serwerowej (np.: [DOC_ROOT]/katalog/z/obrazkami/obrazek.jpg) a nie z url. Wówczas powinno to działać bez względu co masz w .htaccess. Ponadto jeśli obrazki się wyświetlają to to nie wina .htaccessa na bank - bo by się nie wyświetlały. Gdzieś masz jakiś "głupi" błąd pewnie - pokaż kod. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%)
|
Ścieżkę podaję po http
Nie wiem o co może chodzić ponieważ w index.php (na serwerze z tymi obrazkami) na samym początku dodałem linijkę if(getimagesize('link_do_obrazka')){die(1);} I getimagesize zwrócił false, natomiast jak dodałem tą samą linijkę do pliku na innym serwerze to zostało zwrócone true |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
getimagesize jadąc po http, choć nie ma tego napisanego wprost w dokumentacji, zazwyczaj ma problem przy allow_url_fopen na false i dlatego całość klęka.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%)
|
Ale z wszystkimi innymi obrazkami to działa, tylko nie z obrazkami które znajdują się na tym serwerze
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
A sprawdziłeś co Ci zwraca allow_url_fopen dla tego serwera? Może inne mają true a ten serwer wali false. Poza tym może istnieć ochrona przed hotlinkiem. Jeśli odwołanie jest z innej domeny to zwyczajnie reaguje na to i przykładowo strzela nagłówek z 404 lub innym http statusem a dodatkowo error idzie do logów, ale wyświetlanie błędów pewnie masz wywalone i nic nie widzisz przez to. Polecam w takich sytuacjach przy pobieraniu obrazków sprawdzać wyjście. Jeśli nie pobiera Ci obrazka, czyli masz false na getimagesize, to zaciągnij obrazek curlem, który w zasadzie niemal zawsze daje sobie radę w takich sytuacjach (no chyba, że ktoś go świadomie chce wyciąć). Zresztą użycie curla w przypadku allow_url_fopen = false jest powszechnie stosowanym obejściem.
Oczywiście szybszym rozwiązaniem jest zmiana allow_url_fopen na true, ale nie zawsze jest to możliwe (względy bezpieczeństwa przykładowo). |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 17:30 |