使用php创建(ZIP)rar文件导致损坏的rar,同时使用循环添加多个文件

时间:2017-10-13 04:39:38

标签: php zip rar

我正在创建一个网站,我在一个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

选择图像并单击下载。

0 个答案:

没有答案