Создать zip из массива списка элементов, хранящихся в разных папках - PullRequest
0 голосов
/ 11 января 2019

У меня есть цикл, с помощью которого я записываю данные в таблицу, включая URL-адреса файлов, которые нужно сжать. Во время цикла я поместил URL в массив. В конце таблицы у меня была бы кнопка, дающая мне почтовый индекс всех файлов.

Я на WordPress сайте, PHP 5 и Linux.

Во время цикла я сохраняю здесь файл URL с его путем

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

Я пробовал разные коды для zip, я пишу здесь проще

$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 не существует ...

Где я терплю неудачу? Должен ли я копировать файлы в папку раньше? Заранее спасибо

...