Sprawdzenie czy dane zdjęcie znajduje się na serwerze

Sprawdzenie czy dane zdjęcie znajduje się na serwerze
ZeuberO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 43
0

Cześć, robię panel do TeamSpeak'a 3 i mam napisany skrypt, który pobiera awatary użytkowników, jeżeli mają takowy ustawiony. Obrazek który zostanie pobrany zostaje nazwany za pomocą hasha jego uID TS3, jeżeli istnieje już plik o takim hashu obrazek zostaje nadpisany. Natrafiłem na problem ze sprawdzaniem czy istnieje plik o nazwie (hash uID TS3).

Kopiuj
if (file_exists('adres_url:/awatar/'.$uidAwatar.'.png')) {
  // echo '<img src="adres_url:/awatar/'.$uidAwatar.'.png">';
  echo "jest plik";
} else {
  // echo '<img src="adres_url:/awatar/nie_ustawiono_awataru.png">';
  echo "nie ma pliku";
}

echo '<img src="adres_url:/awatar/'.$uidAwatar.'.png">';

Sprawdzenie if (file_exists('adres_url:/awatar/'.$uidAwatar.'.png')) pokazuje, że nie ma takiego pliku, ale jak sobie wywołamy komendę bez sprawdzenia echo '<img src="adres_url:/awatar/'.$uidAwatar.'.png">'; to awatar ewidentnie jest na serwerze.
adsfgadfg.PNG
Próbowałem file_exists() i is_file(), ale dalej to samo

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10297
3

Funkcja file_exists() zadziała dla URL tylko jeśli Twój PHP ma ustawione allow_url_fopen, a z defaulta to nie jest włączone.

Byłoby lepiej gdybyś zrobił request żeby sprawdzić ten pliczek, najlepiej curl albo Guzzle.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.