使用PHP ZipArchive生成的壓縮包,小的壓縮包都能下載,今天遇到個150M以上的就報404錯誤,第一想到的就是文件大小超出了PHP默認設置,修改方法有兩個:
php.ini:memory_limit
memory_limit是設置內存限制的,如果使用readfile()讀取文件就會和這個有關,直接修改這個值保存后重啟php-fpm即可。
memory_limit = 128M
最后記得:service php-fpm restart
ini_set
PHP ini_set用來設置php.ini的值,在函數執行的時候生效,那我們直接用來修改內存執行大小即可,有些朋友用的如果是虛擬空間的話,這個函數就是救星了。
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);
總結
以上所述是小編給大家介紹的php使用 readfile() 函數設置文件大小大小的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。