php檔案下載顯示找不到檔案的解決方案:先開啟對應的下載程式碼檔案;然後從瀏覽器取得字元的編碼;接著使用“mb_convert_encoding”函式轉換編碼;最後使用“file_exists”函數實作檔下載即可。
推薦:《PHP影片教學》
php 檔案下載以及file_exists找不到檔案的解決方案
連結:點擊下載
#其中php:
<?php $filename = $_GET['filename']; //从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件 $filename = mb_convert_encoding($filename,'GBK','UTF-8'); echo $filename ."<br>"; if( empty($filename)){ echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit(); } if (!file_exists($filename)) { //检查文件是否存在 echo "文件找不到"; exit; } else { $file = fopen($filename,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($filename)); Header("Content-Disposition: attachment; filename=" . $filename); // 输出文件内容 echo fread($file,filesize($filename)); fclose($file); exit(); } ?>
總結:如果沒有對瀏覽器傳進來的檔案位址進行轉碼(從UTF-8轉成GBK),那麼file_exists函數將找不到中文名字的檔案。
以上是php檔案下載顯示找不到檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!