Php zip存档文件未打开
因此,我有以下代码:Php zip存档文件未打开,php,zip,ziparchive,Php,Zip,Ziparchive,因此,我有以下代码: $z = new ZipArchive(); $zopen = $z->open('https://github.com/AdamKyle/Aisis-Framework/archive/Aisis1.1.7.zip', 4); if ($zopen === true) { for ($i = 0; $i < $zip->numFiles; $i++) { $filename = $zip->getNameIndex($i);
$z = new ZipArchive();
$zopen = $z->open('https://github.com/AdamKyle/Aisis-Framework/archive/Aisis1.1.7.zip', 4);
if ($zopen === true) {
for ($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
var_dump($filename);
}
} else {
echo "fail";
}
exit;
阅读后,我相信
ZipArchive
不支持通过URI打开zip文件
为了使用zip,您首先需要将其复制到本地磁盘
$content = file_get_contents('https://github.com/AdamKyle/Aisis-Framework/archive/Aisis1.1.7.zip');
file_put_contents('/tmp/name.zip', $content);
$zip = new ZipArchive();
$zip->open('/tmp/name.zip');
确保启用了
allow\u url\u fopen
ini设置。很可能您的PHP或ZipArchive类已设置为不允许从流打开文件。您应该检查文档,看看ZipArchive是否有方法告诉您为什么open()
调用失败。如果保存.zip文件并指向本地位置会发生什么情况?它是int 11,这意味着失败。运行var\u dump(stream\u get\u wrappers())时会得到什么代码>?请参见更新@Jaitsu
$content = file_get_contents('https://github.com/AdamKyle/Aisis-Framework/archive/Aisis1.1.7.zip');
file_put_contents('/tmp/name.zip', $content);
$zip = new ZipArchive();
$zip->open('/tmp/name.zip');