проверьте, существует ли файл в php - PullRequest
30 голосов
/ 23 ноября 2010
if (!(file_exists(http://mysite.com/images/thumbnail_1286954822.jpg))) {   
$filefound = '0';                         
}

почему это не сработает?

Ответы [ 4 ]

51 голосов
/ 23 ноября 2010
if (!file_exists('http://mysite.com/images/thumbnail_1286954822.jpg')) {   
$filefound = '0';                         
}
29 голосов
/ 23 ноября 2010
  1. Функция ожидает строку.

  2. file_exists() неправильно работает с URL-адресами HTTP.

11 голосов
/ 26 января 2017

file_exists проверяет, существует ли файл по указанному пути или нет.

Синтаксис:

file_exists ( string $filename )

Возвращает TRUE, если существует файл или каталог, указанный в имени файла; FALSE в противном случае.

$filename = BASE_DIR."images/a/test.jpg";
if (file_exists($filename)){
    echo "File exist.";
}else{
    echo "File does not exist.";
}

Еще один альтернативный метод, который вы можете использовать getimagesize (), он вернет 0 (ноль), если файл / каталог недоступен по указанному пути.

if (@getimagesize($filename)) {...}
5 голосов
/ 23 ноября 2010

Исходя из вашего комментария к Хаиму, это файл на вашем собственном сервере? Если это так, вам нужно использовать путь к файловой системе, а не URL (например, file_exists( '/path/to/images/thumbnail.jpg' )).

...