我写了以下函数:
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)