タイトルのとおりです。
php で windows の zip ファイル・アーカイブ形式を扱うには ZipAcrchive
の事実上一択になるのですが。
<?php $z = new ZipArchive; $z->open("sample.zip");
これでファイルが開けるのですが、fopen wrapper が使えない
fopen wrapper とは?
file_get_contents が何でも開ける、PHPを最強にするツールですよね。
fopen で開けるファイルのアレコレを様々なプロトコル(スキーマ)に対応させる奴
http:// https:// ssh:// php://temp php://memory php://input php://stdin
などなど、知ってると面倒な処理が、楽になる。
ZipArchive では使えない
<?php $z = new ZipArchive; $z->open("http://......"); var_dump($z);
結果は虚しい。
ZipArchive を使って php://memory で展開したり、 http からファイルを取ってこようと思ったら一切できない。
バイナリ(String)もだめ
一旦データを変数に展開して、変数値からロードしようとしても出来ない。
<?php $z = new ZipArchive; $data = file_get_contents("http://......"); $z->open($z);//出来ない var_dump($z);
phpのC extension に手を入れるのは面倒だし、php のコミュニティは検索スパムだしもどかしい所。
せめて、バイナリから開けたら、なんとかなったのに。