ReadFile () from the point where the file pointer to the data read out to a file, and support synchronous and asynchronous operations, so this article and everyone share ReadFile () function set PHP file size method, I hope to do this help everyone.
Using PHP ziparchive generated compression package, small compressed package can be downloaded, today encountered more than 150M reported 404 error, the first thought is that the file size exceeds the PHP default settings, modified method has two:
Php.ini:memory_limit
Memory_limit is to set the memory limit, if the use of ReadFile () read the file will be related to this, directly modify this value after saving restart PHP-FPM can be.
Memory_limit = 128M
Last remember: Service php-fpm restart
Ini_set
PHP Ini_set is used to set the value of php.ini, when the function is executed, we directly used to modify the memory execution size, some friends use virtual space, this function is the Savior.
Ini_set (' Memory_limit ', ' 512M ');
A complete example:
set_time_limit (0); Ini_set (' Memory_limit ', ' 512M '); Header ("Cache-control: The 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);