当前位置: 代码迷 >> 综合 >> file_exist()不支持中文文件名解决方法
  详细解决方案

file_exist()不支持中文文件名解决方法

热度:24   发布时间:2023-12-21 08:50:06.0

file_exist函数不支持中文文件名解决方法


增加了一句将UTF8编码转换为GB2312编码的语句,改进后可以了正确判断了: $file_dir=iconv(‘UTF-8’,‘GB2312’, $file_dir);
下面展示一些 内联代码片

 $file_dir = dirname(dirname(dirname(__DIR__)))."/public/upload/files/".$input['title'].".".$input['type'];//将UTF8编码转换为GB2312编码$file_dir=iconv('UTF-8','GB2312',  $file_dir);// 检查文件是否存在if (!file_exists($file_dir)) {$this->error('文件未找到');} else {// 打开文件$file1 = fopen($file_dir, "r");// 输入文件标签Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length:" . filesize($file_dir));Header("Content-Disposition: attachment;filename=" . $input['title'] .".".$input['type']);ob_clean();flush();        //可以清除文件中多余的路径名以及解决乱码的问题://输出文件内容//读取文件内容并直接输出到浏览器echo fread($file1, filesize($file_dir));fclose($file1);exit();}
  相关解决方案