从存储在不同文件夹中的元素的数组列表创建zip

时间:2019-01-11 14:16:23

标签: php zipfile

我遇到了一个循环,可以与我在表中写入数据,其中包括要压缩的文件的url。 在循环期间,我将URL放入数组中。 在表格末尾,我将有一个按钮,为我提供所有文件的zip。

我在Wordpress网站,PHP 5和Linux中。

在循环期间,我将URL文件及其路径保存在这里

if (file_exists($file_letttut)) {
    $nameAndCode['zipp'] = "http://mypath/to/".$file_letttut;
    $namesArray[] = $nameAndCode;}

我尝试了不同的代码进行压缩,我在这里写得更容易

$zip = new ZipArchive;
$zip_name = "zippot.zip"; // Zip name
$res = $zip->open($zip_name, ZipArchive::CREATE);
if ($res === TRUE) {
    foreach($namesArray as $key => $value) { 
        $nomefile = basename($namesArray[$key][zipp].$value);
        $nomefile = str_replace('Array', '', $nomefile);
        $nomecompleto = str_replace('Array', '', $namesArray[$key][zipp].$value);
        $zip->addFile($nomecompleto, $nomefile);
    }
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
if(file_exists($zip_name)) {
    echo "yes";die;
    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename="'.$res.'"');
    readfile($res);
    unlink($res);
} else { 
    echo "zip not created";die; 
}
  

$ zip_name不存在...

我在哪里失败? 我之前是否应该将文件复制到文件夹? 预先感谢

0 个答案:

没有答案