将zip文件从外部服务器提取到自己的服务器

时间:2016-06-24 13:34:10

标签: php zip

我写了以下函数:

private function downloadFile($url) {
    // since this is a zip-file, we need to unzip it
    $zip = new ZipArchive();
    $res = $zip->open($url);
    if ($res == true) {
        $oModule = oxNew("oxModule");
        $sModuleDir = $oModule->getModulePath("trosofortueberweisung");
        $sShopDir = $this->getConfig()->getConfigParam('sShopDir');
        $sCopyPath = $sShopDir . "modules/" . $sModuleDir;
        $zip->extractTo($sCopyPath);
        $zip->close();
    }
}

我的 $ url = example.org/myfile.zip(外部服务器)。然而,脚本在另一台服务器上运行。我想要做的是自动更新功能。

我想从托管服务器获取zip文件,打开它并将文件解压缩到特定位置。但是,我收到以下错误:

  

警告:ZipArchive :: extractTo()[ziparchive.extractto]:无效或统一的Zip对象...

以及

  

警告:ZipArchive :: close()[ziparchive.close]:无效或统一的Zip对象...

为什么会这样? $ res是obv。是的,因为它到达声明:/

更新1

我将if语句更改为===,当我var_dump($res)显示 int(11)时引用:

  

无法打开文件

(来自here

0 个答案:

没有答案