set_time_limit(0);
ini_set('memory_limit','350M');
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=' . basename($file_name . $extension)); //文件名
header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件
header('Content-Length: ' . filesize($filename)); //告诉浏览器,文件大小
ob_end_clean();
readfile($file);
主要是memory_limit()的设置和ob_end_clean()函数的使用