0

我有这个应用程序outlooksendthisfile.com.

现在在我的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";
}

有人可以帮我解决这个问题吗?

4

2 回答 2

1

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

于 2021-07-15T16:57:25.477 回答
0

假设 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";
}
于 2021-07-16T05:21:01.693 回答