Как я могу выяснить проблему, когда я собираюсь создать zip-файл размером 2 ГБ.
Ошибка
file_get_contents(): содержимое усекается с 2147483648 до 2147483647 байт.
Фатальная ошибка: Недостаточно памяти (выделено 2151677952) (попытался выделить 18446744071562067968 байт) в
Я использую выделенный сервер и уже установил memory_limit,max_execution_time,max_upload_filesize,max_post_size
. Но у меня это не работает. Пожалуйста, проверьте мой код и дайте мне знать, что я делаю неправильно -
создать новый zip-объект
$zip = new ZipArchive();
# create a temp file & open it
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);
# loop through each file
foreach($files as $file){
# download file
$download_file = file_get_contents($file_path.'/'.$file);
#add it to the zip
$zip->addFromString(basename($file_path.'/'.$file),$download_file);
}
# close zip
$zip->close();
$zip_name = $last_seg.'.zip';
# send the file to the browser as a download
header("Content-disposition: attachment; filename=$zip_name");
header('Content-type: application/zip');
readfile($tmp_file);