压缩多个文件然后取消链接文件

发布于 2024-11-17 15:59:18 字数 1194 浏览 0 评论 0原文

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

该文件是否仍处于写保护状态? 如何解决这个问题呢?

谢谢朋友

    <?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);
    }

?>

I find code above and try it, The zip file created but statement unlink($zipname); doesn't work
I don't have any problem about permission

Is that file strill write-protected?
How to solve that problem?

Thanks Friends

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

万劫不复 2024-11-24 15:59:18

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

Your function above should call return, not exit. Exit terminates execution of the script, so nothing after that will be called. It's probably not even getting to the file_exists part.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文