PHP:检查服务器上是否存在文件

时间:2010-10-02 19:48:30

标签: php

嘿;我目前正在使用以下方式检查服务器上是否存在图像:

if (@getimagesize($s3url))
   { 
      //do stuff 
   }

毋庸置疑,这不是最优雅的做法......但老实说,我实际上并不知道从哪里开始寻找更好的解决方案。

我想知道是否可能只发送请求,接收HTTP响应(即如果HTTP响应为200,则继续,如果不是,则评估为false);但这是最好的方式吗?

检查(图像)文件是否存在的最佳功能是什么?

3 个答案:

答案 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操作..