Этот вопрос касается использования fopen для проверки, существует ли файл, а не cURL
или же getimagesize
какие альтернативные методы, но не то, о чем я спрашиваю.
Я использовал следующую функцию в коде в течение нескольких лет без проблем, и она вдруг всегда возвращается FALSE
даже на действительных изображениях. Я не знаю, случайно ли я создал опечатку или мой хост изменил версию PHP или что могло вызвать ее, но был бы признателен, если бы кто-то мог определить, что может пойти не так.
Вот код:
function image_exist($url) {
if (@fclose(@fopen( $url, "r "))) {
// true;
return TRUE;
} else {
// false;
return FALSE;
}
}
Это сейчас возвращается FALSE
даже на действительных изображениях.
Зачем использовать fopen()
а также fclose()
когда есть функция для этого?
function image_exist($url) {
return file_exists($url);
}
Изменить: вы правы, что это не работает для удаленных файлов через HTTP (S).
Других решений пока нет …