首頁 > 後端開發 > PHP問題 > php檔案下載顯示找不到檔案怎麼辦

php檔案下載顯示找不到檔案怎麼辦

藏色散人
發布: 2023-03-05 10:02:01
原創
2342 人瀏覽過

php檔案下載顯示找不到檔案的解決方案:先開啟對應的下載程式碼檔案;然後從瀏覽器取得字元的編碼;接著使用“mb_convert_encoding”函式轉換編碼;最後使用“file_exists”函數實作檔下載即可。

php檔案下載顯示找不到檔案怎麼辦

推薦:《PHP影片教學》 

php 檔案下載以及file_exists找不到檔案的解決方案

連結:點擊下載

#其中php:

<?php
$filename = $_GET[&#39;filename&#39;];
//从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件
$filename = mb_convert_encoding($filename,&#39;GBK&#39;,&#39;UTF-8&#39;);
echo $filename ."<br>";
if( empty($filename)){
    echo&#39;<script> alert("非法连接 !"); location.replace ("index.php") </script>&#39;; 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板