我已使用以下代码生成zip
// push to download the zip header('Content-type: application/zip'); header('Content-Disposition: attachment; filename="'.$zip_name.'"'); readfile($zip_name);
这段代码可以正常工作,但是由于未知原因,直到我尝试为止
// push to download the zip header('Content-type: application/zip'); header('Content-Disposition: attachment; filename="'.$zip_name.'"'); echo file_get_contents($zip_name);
我很好奇这两种情况的发生
Readfile将直接将文件读取到输出缓冲区中,而file_get_contents会将文件加载到内存中,当您回显结果时,数据将有效地从内存复制到输出缓冲区中,是readfile的两倍。