首頁 > 後端開發 > PHP問題 > php無法下載大檔案怎麼辦

php無法下載大檔案怎麼辦

藏色散人
發布: 2023-03-05 06:18:01
原創
2925 人瀏覽過

php無法下載大檔案的解決方法:先找到並開啟「php.ini」檔案;然後將「memory_limit」設定為1024M;接著將資料輸出到客戶端瀏覽器中即可。

php無法下載大檔案怎麼辦

推薦:《PHP影片教學

解決使用PHP無法下載大檔案的問題 

在實際應用中,使用PHP的fread()函數讀取伺服器檔案會有大小限制。當伺服器檔案大小超過一定量時(128M?),客戶端瀏覽器無法下載檔案。是因為設定檔php.ini裡的memory_limit的限制嗎?

將memory_limit設定為1024M後,測試一個180M的文件,發現問題依舊,程式碼:

header('content-type:application/octet-stream');
            header('accept-ranges: bytes');
            header('content-length: '.filesize($filePath));
            header('content-disposition:attachment;filename='.$fileName);
            $fp = fopen($filePath, "r");
            echo fread($fp, filesize($filePath));
            fclose($fp);
登入後複製

上面的讀取方式是一次將資料輸出到客戶端瀏覽器中,難道跟這有關係?試著從檔案中一行一行讀取:

header('content-type:application/octet-stream');
            header('accept-ranges: bytes');
            header('content-length: '.filesize($filePath));
            header('content-disposition:attachment;filename='.$fileName);
            $fp = fopen($filePath, "r");
            while(!feof($fp)) {
                echo fgets($fp, 4096);
            }
           fclose($fp);
登入後複製

啊哈!沒有問題了。

以上是php無法下載大檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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