php如何判断虚拟地址文件是否存在?

[复制链接]
查看11 | 回复10 | 2021-1-27 07:14:07 | 显示全部楼层 |阅读模式
后台文件通过域名地址能打开,但是前台验证文件是否存在时候fopen函数,curl等方法提示文件不存在
get_file_content在文件不存在是时候则会报错,应该如何解决???

分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
虚拟地址文件是什么...
file_exists不可以判断么
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
file_exisit是判断本地,前台和后台是分了两个地址,现在是通过前台访问后台的文件地址
引用1楼jam00的回复:虚拟地址文件是什么...
file_exists不可以判断么

回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
使用url就可打开
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
引用3楼xuzuning的回复:使用url就可打开
我也知道能打开,如果文件不存在的话,前台会报404

回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
对呀,你判断一下是否是404不就知道文件在不在了
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
可以通过curl获取状态码来判断
$handle=curl_init($url);
curl_setopt($handle,CURLOPT_RETURNTRANSFER,TRUE);
$response=curl_exec($handle);
$httpCode=curl_getinfo($handle,CURLINFO_HTTP_CODE);
echo$httpCode==404?'notexist':'exist';
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
判断远程文件是否存在吗?
可以使用get_headers方法实现。
$url='http://www.baidu.com';
$data=get_headers($url,true);
if(isset($data[0])&&$data[0]=='HTTP/1.1200OK'){
echo'exists';
}else{
echo'notexists';
}

回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
引用5楼xuzuning的回复:对呀,你判断一下是否是404不就知道文件在不在了
上面说的方法也都用了,本地可行,但是一上传测试环境全都不行
判断了,因为想把PDF嵌套这HTML用iframe结果出现了兼容性问题
部分safari和IE是直接下载PDF而不是显示在页面上,比较头疼的问题
回复

使用道具 举报

千问 | 2021-1-27 07:14:07 | 显示全部楼层
是下还是打开,要看浏览器是否可以调用pdf软件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行