如果檔案上傳過大就會產生錯誤,本篇文章主要介紹了php readfile()修改檔案上傳大小設定,有興趣的可以瞭解一下
使用PHP ZipArchive產生的壓縮包,小的壓縮包都能下載,今天遇到個150M以上的就報404錯誤,第一想到的就是檔案大小超出了PHP預設設定,修改方法有兩個:
php.ini:memory_limit
memory_limit是設定記憶體限制的,如果使用readfile()讀取檔案就會和這個有關,直接修改這個值儲存後重啟php-fpm即可。
php 下載檔案大小設定PHP
memory_limit = 128M
最後記得:service php-fpm restart
ini_set
PHP ini_set用來設定php.ini的值,在函數執行的時候生效,那我們直接用來修改記憶體執行大小即可,有些朋友用的如果是虛擬空間的話,這個函數就是救星了。
PHP 設定php.ini值PHP
ini_set('memory_limit', '512M');
完整的樣本:
PHP
set_time_limit(0);ini_set('memory_limit', '512M');header("Cache-Control: public");header("Content-Description: File Transfer");header('Content-disposition: attachment; filename=' . basename($zipfile));header("Content-Type: application/zip");header("Content-Transfer-Encoding: binary");header('Content-Length: ' . filesize($zipfile));ob_clean();flush();@readfile($zipfile);unlink($zipfile);