嘿;我目前正在使用以下方式检查服务器上是否存在图像:
if (@getimagesize($s3url))
{
//do stuff
}
毋庸置疑,这不是最优雅的做法......但老实说,我实际上并不知道从哪里开始寻找更好的解决方案。
我想知道是否可能只发送请求,接收HTTP响应(即如果HTTP响应为200,则继续,如果不是,则评估为false);但这是最好的方式吗?
检查(图像)文件是否存在的最佳功能是什么?
答案 0 :(得分:4)
file_exists()然后使用getimagesize()
检查文件是否真的是图像答案 1 :(得分:2)
我不确定file_exists是否适用于远程网址,因此使用它会更安全:
function url_exists($url) {
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_HEADER, false);
curl_setopt($handle, CURLOPT_FAILONERROR, true);
curl_setopt($handle, CURLOPT_NOBODY, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, false);
$connectable = curl_exec($handle);
curl_close($handle);
return $connectable;
}
答案 2 :(得分:0)
这个怎么样
if(filesize($url))
{
}
这样,你就不会触发GD操作..