PHP:检查服务器上是否存在文件
哎,;我目前正在使用以下方法检查服务器上是否存在映像:PHP:检查服务器上是否存在文件,php,Php,哎,;我目前正在使用以下方法检查服务器上是否存在映像: if (@getimagesize($s3url)) { //do stuff } 不用说,这并不是最优雅的方式。。。但老实说,我不知道从哪里开始寻找更好的解决方案 我想知道是否可能只发送一个请求,接收一个HTTP响应(即,如果HTTP响应是200,则继续,如果不是,则计算为false);但这是最好的办法吗 检查(图像)文件是否存在的最佳功能是什么 然后使用getimagesize()检查文件是否真的是图像然后
if (@getimagesize($s3url))
{
//do stuff
}
不用说,这并不是最优雅的方式。。。但老实说,我不知道从哪里开始寻找更好的解决方案
我想知道是否可能只发送一个请求,接收一个HTTP响应(即,如果HTTP响应是200,则继续,如果不是,则计算为false);但这是最好的办法吗
检查(图像)文件是否存在的最佳功能是什么 然后使用getimagesize()检查文件是否真的是图像然后使用getimagesize()检查文件是否真的是图像如何
if(filesize($url))
{
}
这样,您就不会触发GD操作了。这个怎么样
if(filesize($url))
{
}
这样,您就不会触发GD操作了。我不确定文件_exists是否适用于远程URL,因此您可以更安全地使用此文件:
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;
}
我不确定文件_exists是否适用于远程URL,因此您可以更安全地使用此文件:
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;
}
getimagesize
不是GD操作(尽管您需要完整的文件)getimagesize
不是GD操作(尽管您需要完整的文件)来检查外部服务器上是否存在内容,它必须通过HTTP检查来完成,而不是使用文件大小等功能,当它们打开本地服务器上的资源时。若要检查外部服务器上是否存在内容,必须使用HTTP检查,而不是文件大小等功能,因为它们打开本地服务器上的资源。