我正在创建一个网站,我在一个zip文件中下载所有选定的图片。 我正在使用以下代码来执行此操作。但是这会创建一个损坏的rar文件。否则,当我只添加单个图像文件到rar时,它成功添加它。 注意:用户选择的图像存储在服务器上的不同文件夹中。但我已经确认我检查$ data数组包含所有选定文件的路径。 请帮我解决这个问题。 我正在使用的代码:
$zip = new ZipArchive();
$zip_name = time().".zip"; // Zip name
$zip->open($zip_name, ZipArchive::CREATE);
$f = $_SESSION['files']; // contain all selected file names with path semicolon separated
$data = explode(';', $f); // create array of file names
for ($i = 0; $i <= sizeof($data)-1 ; $i++)
{
$zip->addFile(str_replace("/", "\\", $data[$i]));
}
$zip->close();
header('Content-type: application/zip');
header('Content-disposition: filename="' . $zip_name . '"');
header("Content-length: " . filesize($zip_name));
readfile($zip_name);
unlink($zip_name);
exit();
以下是实时代码的链接,以便您了解我们的情况。
http://ingridanddylan.com/selectpicstodownload.php
选择图像并单击下载。