<?php
$files = array('1.txt', '2.txt', '3.txt');
$zipname = 'test.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
?>
这是我的代码,唯一的问题是它没有下载我指定的文件。
我做错了什么?我正在使用浏览器吗? (歌剧)文件下载但最终为空。
答案 0 :(得分:0)
首先检查zip文件是否正在创建,然后
添加文件传输标题...
header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' ."Your file size" );
set_time_limit(0);
它会起作用。
追加&#34;您的文件大小&#34;到文件大小的长度。