Zip多个文件比取消链接文件

时间:2011-06-28 13:58:38

标签: php file zip unlink

    <?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);不起作用 我对许可没有任何问题

该文件是否具有写保护功能? 如何解决这个问题?

谢谢朋友

1 个答案:

答案 0 :(得分:2)

上面的函数应该调用return,而不是exit。 Exit终止脚本的执行,因此之后不会调用任何内容。它可能甚至没有进入file_exists部分。