Я знаю, что есть ответы по 10 вопросов, но ни один из них не работает для меня безупречно. Я пытаюсь проверить, существует ли внутреннее или внешнее изображение (является ли URL-адрес изображения действительным?).
-
fopen($url, 'r')
завершается сбой, если я не использую@fopen()
:Warning: fopen(http://example.com/img.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in file.php on line 21
-
getimagesize($img)
не удается, если изображение не существует (PHP 5.3.8):Warning: getimagesize() [function.getimagesize]: php_network_getaddresses: getaddrinfo failed
- CURL терпит неудачу, потому что он не поддерживается некоторыми серверами (хотя он присутствует в основном везде).
-
fileExists()
терпит неудачу, поскольку он не работает с внешними URL-адресами и не может проверить, имеем ли мы дело с изображением.
Четыре метода, которые являются наиболее распространенными ответами на такой вопрос, являются неправильными. Каким будет правильный способ сделать это?