次のコードを使用して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の2倍のメモリを使用してデータがメモリから出力バッファーに効果的にコピーされます。