我正在尝试使用以下代码从目录创建zip文件,并通过http下载向用户提供服务:
我能够创建zip文件,但是通过http下载它不起作用。如果我使用ftp客户端下载创建的zip文件,那么Mac的Stuffit Expander可以很好地解压缩文件,但是如果我通过http下载它,则Mac的解压程序会创建一个无限循环。我的意思是,假设我下载的文件名为course.zip,那么解压缩该文件会得到course.zip.cpgz,然后解压缩该文件又会得到course.zip,依此类推。
// write the file
file_put_contents($path . "/index.html", $output);
// zip up the contents
chdir($path);
exec("zip -r {$course->name} ./");
$filename = "{$course->name}.zip";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' .urlencode($filename));
header('Content-Transfer-Encoding: binary');
readfile($filename);
我能够创建zip文件,但是通过http下载它不起作用。如果我使用ftp客户端下载创建的zip文件,那么Mac的Stuffit Expander可以很好地解压缩文件,但是如果我通过http下载它,则Mac的解压程序会创建一个无限循环。我的意思是,假设我下载的文件名为course.zip,那么解压缩该文件会得到course.zip.cpgz,然后解压缩该文件又会得到course.zip,依此类推。
有人有什么想法吗?
谢谢!