Подтвердить что ты не робот

PHP readfile vs. file_get_contents

Я использовал следующий код для генерации 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);

Мне интересно узнать, что происходит в обоих случаях

4b9b3361

Ответ 1

Readfile будет считывать файл непосредственно в выходной буфер, а файл_get_contents будет загружать файл в память, когда вы эхо-результат, данные копируются из памяти в выходной буфер, эффективно используя в 2 раза память readfile.