本文和大家分享的主要是php readfile() 文件大小設(shè)置相關(guān)內(nèi)容,一起來看看吧,希望對大家學習php有所幫助。
使用PHP ZipArchive生成的壓縮包,小的壓縮包都能下載,今天遇到個150M以上的就報404錯誤,第一想到的就是文件大小超出了PHP默認設(shè)置,修改方法有兩個:
php.ini:memory_limit
memory_limit是設(shè)置內(nèi)存限制的,如果使用readfile()讀取文件就會和這個有關(guān),直接修改這個值保存后重啟php-fpm即可。
memory_limit = 128M
最后記得:service php-fpm restart
ini_set
PHP ini_set用來設(shè)置php.ini的值,在函數(shù)執(zhí)行的時候生效,那我們直接用來修改內(nèi)存執(zhí)行大小即可,有些朋友用的如果是虛擬空間的話,這個函數(shù)就是救星了。
ini_set('memory_limit', '512M');
完整的示例:
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);
來源:體驗盒子