PHP ZipArchive不会创建zip存档。在代码中修复什么?

时间:2017-01-19 01:54:12

标签: php ziparchive

我有一个.srt文件位于files / srt / username / filename.srt目录中。我需要能够在浏览器中下载它,但为了实现这一点,我必须首先压缩文件。 我在网上找到了以下代码:

function download_zip() {
    if (isset($_POST['download_srt'])) {
        $zip = new ZipArchive();
        $zip->open("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt'].".zip", ZipArchive::CREATE);
        // output: files/srt/username/filename.srt.zip

        $zip->addFile($_POST['download_srt']);
        // output of $_POST['download_srt']: filename.srt

        $zip->close();
    }
}

按下提交按钮并发送$ _POST数据时,将调用代码。 该函数有效,但在与原始srt文件相同的目录中不会创建ZIP文件。没有出现错误消息。

1 个答案:

答案 0 :(得分:1)

您应该提供要添加的文件的正确路径:

$zip->addFile("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt']);