1

我面临一个非常奇怪的问题!我正在使用以下方法将 .zip 文件的内容提取到新文件夹中。它在我的一台电脑上工作得很好,但在另一台电脑上却不行!我在两台计算机上都有 Windows XP,并且在两台计算机上都安装了相同的 wampServer。两台计算机之间的一切都是一样的,除了它们的 CPU 和 RAM!我的计算机功能强大,而提取过程失败的计算机是非常慢的计算机。这是为什么?如何确保 PHP 代码即使在缓慢的环境中也能完美运行?

要添加的一件事:要提取的 zip 存档包含一个目录和该目录中的一些文件。如果我使用其中没有目录的 zip 文件测试该过程,则它在两台计算机上都可以正常工作。有任何想法吗?!

public function extract($pluginName, $pasteLocation) {

    $zip = new ZipArchive(); 
    $plugin = $pasteLocation.$pluginName.".zip";

    if ($zip->open($plugin) === TRUE) {
        $zip->extractTo($pasteLocation);
        $zip->close();
        unlink($pasteLocation.$pluginName.'.zip');
        $status = "true";
        $msg = "success";
    } else {
        $status = "false";
        $msg = "error";
    }

    $result["status"] = $status;
    $result["msg"] = $msg;
    return $result;
}
4

1 回答 1

0

你说它在一个系统中不起作用。你能说出什么不起作用,比如文件是否被部分提取?还是文件损坏了?

您是否尝试过使用不同的目录。目标目录是否包含与 zip 中的目录同名的文件?那么我猜目录创建将不起作用。

另外你使用的是什么版本的php?

编辑:您是否使用 ZipArchive::getStatusString 函数来获取任何生成的错误?您是否在两台机器上使用相同的源存档?

您也可以在这里尝试“hardcorevenom”在评论中解释的程序。

如果没有任何效果,您也可以尝试此处显示的此类。

于 2012-05-21T04:49:28.147 回答