首页主机资讯如何用is_file判断远程文件存在

如何用is_file判断远程文件存在

时间2024-09-10 21:10:04发布访客分类主机资讯浏览1349
导读:is_file( 函数是 PHP 中的一个内置函数,用于检查给定路径的文件是否存在,并且是一个常规文件 要检查远程文件是否存在,可以使用 fopen( 和 fclose( 函数结合 @ 操作符来避免错误输出。这里有一个示例: func...

is_file() 函数是 PHP 中的一个内置函数,用于检查给定路径的文件是否存在,并且是一个常规文件

要检查远程文件是否存在,可以使用 fopen()fclose() 函数结合 @ 操作符来避免错误输出。这里有一个示例:

function remoteFileExists($url) {
    
    $handle = @fopen($url, "r");

    if ($handle) {
    
        fclose($handle);
    
        return true;

    }
 else {
    
        return false;

    }

}
    

$url = "http://example.com/somefile.jpg";

if (remoteFileExists($url)) {
    
    echo "文件存在";

}
 else {
    
    echo "文件不存在";

}

请注意,这种方法可能会产生一些性能开销,因为它实际上会尝试打开远程文件。另外,服务器可能会配置为禁止这种类型的检查,所以这种方法不是100%可靠。

更好的方法是使用 HTTP 头信息来检查文件是否存在。你可以使用 get_headers() 函数来获取远程文件的 HTTP 头信息,然后检查返回的状态码。这里有一个示例:

function remoteFileExists($url) {
    
    $headers = get_headers($url);
    
    return strpos($headers[0], '200') ? true : false;

}
    

$url = "http://example.com/somefile.jpg";

if (remoteFileExists($url)) {
    
    echo "文件存在";

}
 else {
    
    echo "文件不存在";

}
    

这种方法更可靠,也不会产生太多性能开销。但是,它仍然依赖于服务器的配置,因此不能保证在所有情况下都能正确工作。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何用is_file判断远程文件存在
本文地址: https://pptw.com/jishu/698467.html
PHP里is_file的参数设置有哪些 is_file函数在PHP中的最佳实践

游客 回复需填写必要信息