0

だから私は次のコードを持っています:

$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;

そして、失敗を繰り返します。私が提供している URL はブラウザでは機能しますが、上記のコードでは機能しません。どうしたの?

アップデート

私は次の結果について尋ねられました:

var_dump(stream_get_wrappers());

だった、そして彼らは怒鳴っている

array (size=12)
  0 => string 'https' (length=5)
  1 => string 'ftps' (length=4)
  2 => string 'compress.zlib' (length=13)
  3 => string 'compress.bzip2' (length=14)
  4 => string 'php' (length=3)
  5 => string 'file' (length=4)
  6 => string 'glob' (length=4)
  7 => string 'data' (length=4)
  8 => string 'http' (length=4)
  9 => string 'ftp' (length=3)
  10 => string 'phar' (length=4)
  11 => string 'zip' (length=3)
4

1 に答える 1

1

読んだ後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_url_fopenini 設定が有効になっていることを確認します。

于 2013-03-15T21:01:52.447 に答える