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');