PHP 中的 zipArchive 在服务器中不起作用,但在本地主机上运行并提取文件

zipArchive in PHP is not working in server but on localhost runs and extracts the file

我有这个应用程序可以从 sendthisfile.comoutlook 邮件中获取数据。

现在,当我在我的 localhost 机器上测试应用程序时,zipArchive 运行良好,文件解压缩到我各自的 localhost 文件夹。现在,当我尝试在我的服务器上 运行 时,zipArchive 无法正常工作。上面没有错误。 $zip->open($filename).

上有一个文件名

我的问题是为什么它不能在我的服务器上提取?

我的代码如下:

$path = "my-folder/"; $zip = new ZipArchive; $resFile = $zip->open($filename);

if ($resFile === TRUE) {
    $zip->extractTo($path);
    $zip->close();
    echo "Woot successfully extract $filename to $path";
    echo "<br />";
} else {
    echo "Error opening the file $filename";
}

谁能帮我解决这个问题?

您需要在服务器配置中激活 ZIP PHP 扩展。如果您有 cPanel 访问权限,请检查 PHP Selector 中的配置。

假设启用了phpArchive,并且设置了对目录的写权限,这很可能是path问题。

尝试使用 $_SERVER['DOCUMENT_ROOT'] 并尝试 运行 此代码。

$path = "my-folder/";
$zip = new ZipArchive;
$resFile = $zip->open($filename);

if ($resFile === true) {
    if ($zip->extractTo($_SERVER['DOCUMENT_ROOT'].'/'.$path) === false) {
        echo "Extract Failed!<br/>";
    }
    else{
        echo "Woot successfully extract $filename to $path<br/>";
    }
    $zip->close();
}
else{
    echo "Error opening the file $filename";
}