PHP ZipArchive 不创建 zip 存档。在代码中修复什么?
PHP ZipArchive doesn't create a zip archive. What to fix in the code?
我在 files/srt/username/filename.srt 目录中有一个 .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 文件。没有出现错误消息。
您应该提供要添加的文件的正确路径:
$zip->addFile("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt']);
我在 files/srt/username/filename.srt 目录中有一个 .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 文件。没有出现错误消息。
您应该提供要添加的文件的正确路径:
$zip->addFile("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt']);