//Get the directory to zip
$filename_no_ext=$_GET['directtozip'];
// we deliver a zip file
header("Content-Type: archive/zip");
// filename for the browser to save the zip file
header("Content-Disposition: attachment; filename=$filename_no_ext".".zip");
// get a tmp name for the .zip
$tmp_zip = tempnam ("tmp", "tempname") . ".zip";
//change directory so the zip file doesnt have a tree structure in it.
chdir('uploads/'.$_GET['directtozip']);
// zip the stuff (dir and all in there) into the tmp_zip file
exec('zip '.$tmp_zip.' *');
// calc the length of the zip. it is needed for the progress bar of the browser
header('Content-Length: ' . filesize($file));
// deliver the zip file
$fp = fopen("$tmp_zip","r");
echo fpassthru($fp);
// clean up the tmp zip file
unlink($tmp_zip);
以下代码为我创建了空白 zip 文件。
这是我的 ip localhostfilemanager/zip_folder.php?directtozip=Screenshots
目录树
截图
- Image.jpg
上传
^截图
- Image.jpg
而且它基本上没有得到任何这些文件。这是为什么?我最近在 google 中搜索了几乎所有代码,并且有效的代码不是基于标题输出,只是在目录 ./ 中创建 zip。你能给我一个我绝望的工作代码吗:(