Zip Multiple file, чем отсоединить файл - PullRequest
2 голосов
/ 28 июня 2011
    <?php



$direc = base64_decode($_GET['path']);



    $zip = new ZipArchive();

    if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE) !== TRUE) {
        exit("cannot open <$archive_file_name>\n");
    }
    //add each files of $file_name array to archive
    foreach ($file_names as $files) {
        $zip->addFile($file_path . $files, $files);
    }
    $zip->close();



    header('Content-Type: application/octet-stream');
    header("Content-Disposition: attachment; filename=" . $archive_file_name);
    header('Cache-control: private, must-revalidate');
    header('Content-Transfer-Encoding: binary');
    readfile("$archive_file_name");
    exit;
}

if (isset($_POST['file'])) {
    $file_names = $_POST['file'];
    $archive_file_name = 'zipped.zip';
    $file_path = $direc;
    echo $file_path;


//Run Function above
    zipFilesAndDownload($file_names, $archive_file_name, $file_path);


    if (file_exists($archive_file_name)) {
        unlink($archive_file_name);
    }

?>

Я нахожу код выше и пробую его. Файл zip создан, но оператор unlink($zipname); не работает У меня нет проблем с разрешением

Этофайл strill защищен от записи?Как решить эту проблему?

Спасибо, друзья

1 Ответ

2 голосов
/ 28 июня 2011

Ваша функция должна вызывать возврат, а не выход.Выход прекращает выполнение скрипта, поэтому после этого ничего не будет вызвано.Вероятно, это даже не доходит до части file_exists.

...