Sprawdzenie czy dane zdjęcie znajduje się na serwerze

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).

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1