PHP 判断远程或者本地文件是否存在

本文介绍了一种使用PHP检查远程文件是否存在及是否可访问的方法。通过curl获取远程文件头信息来判断文件的状态,并实现了本地文件的检查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$baidu_logo "http://pr.bdimg.com/static/princess/img/misc/baidu_logo.gif";
$logo       "http://pr.bdimg.com/static/princess/img/misc/logo.gif";

var_dump(my_file_exists(
$logo));
echo "\n";
var_dump(my_file_exists(
$baidu_logo));


function my_file_exists($file$basePath=''){
    
if(preg_match('|^http://|',$file)){//如果是远程文件
        
$ch curl_init($file);
        curl_setopt(
$chCURLOPT_HEADER, 1); //输出文件头信息
        
curl_setopt($chCURLOPT_NOBODY, 1); //不输出文件主体
        
curl_setopt($chCURLOPT_RETURNTRANSFER, 1); //将curl_exec()返回到变量
        
curl_setopt($chCURLOPT_CONNECTTIMEOUT, 10); //设置超时
        
$contents curl_exec($ch); //获取远程文件信息
        
return preg_match('|HTTP/1.1 200|'$contents)?true:false//如果状态不是200,就表示获取失败。
    
}
    
return file_exists($basePath.$file);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值