我知道至少有 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,并且无法检查我们是否正在处理图像。
作为此类问题最常见答案的四种方法是错误的。这样做的正确方法是什么?