php - 判断服务器上文件是否存在问题
本文介绍了php - 判断服务器上文件是否存在问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我用的是file_exists函数判断文件是否存在,可奇怪的是如果我只判断文件的目录是否存在返回true,只要一加上文件名就返回false(文件是确实存在的)求教这是为什么?
public function download($file_url){
if(!isset($file_url)||trim($file_url)==''){
echo '路径不正确';exit;
}
$filename=$this->get_basename($file_url);
$file_name = preg_replace("/(\s|\ \;| |\xc2\xa0)/","",$filename); //去掉文件名中的空格。
$file_name = iconv("UTF-8","GB2312",urldecode($file_name)) ; //取文件名称,将urlcode编码转回来
$filename = str_replace( '+', '%20', urlencode($filename) ) ; //解决urlcode编码空格问题。
//这一步 我把生成的$file 打印出来放在url里回车 直接下载 可是就是在判断文件是否存在哪里一直不通过
$file = dirname(base_url($file_url)).'/'.$filename ;
$file = fopen($file,"r");
if (!$file) {
echo "文件找不到";
} else {
header("Content-type: application/octet-stream");
//header("Accept-Ranges: bytes");
//header("Accept-Length: ".filesize($file_url));
Header("Content-Disposition: attachment; filename=" . trim($file_name));
while (!feof ($file)) {
echo fread($file,50000);
}
fclose ($file);
}
}
解决方案
可能是你的文件夹或者文件的权限问题
这篇关于php - 判断服务器上文件是否存在问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文