PHP下载多个文件作为zip错误

时间:2017-02-16 08:15:41

标签: php zip

我试图制作一个下载按钮来压缩我的文件。当我在数组中设置多个文件时,会出现错误enter image description here

当我硬编码" files / path / to / 8717953176714.jpg"它有效。

这是我的代码:



<?php

//print_r($_POST["foto"]);

$files = array($_POST["foto"]);
$random = rand(1000000000, 9999999999);
$zipname = 'file'.$random.'.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
    $zip->addFile($file);
}

$zip->close();

$filename = $zipname;

 header('Content-type: application/zip');
 header('Content-Disposition: attachment; filename="' . $filename . '"');
 header('Content-length: ' . filesize($filename));  
 readfile($filename);
 $file = fopen('iplog.txt', 'a', 1);
 $ipz = getenv("REMOTE_ADDR");
 $text = "$ipz\n";
 fwrite($file, $text);
 fclose($file); 

?>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

尝试此更改:

$zipname =getcwd()'/file'.$random.'.zip';

答案 1 :(得分:0)

问题是。我把一个数组变成了一个数组。所以它没有得到好的道路。

&#13;
&#13;
$files = $_POST["foto"];
&#13;
&#13;
&#13;

而不是

&#13;
&#13;
$files = array($_POST["foto"]);
&#13;
&#13;
&#13;