Phar拡張のストリームラッパーでtar.gzファイルを開く
PHP5.3.0から標準で組み込まれるようになったPhar拡張ですが、こいつはPharアーカイブを扱うだけではなくtarやtar.gzも扱えます。また、それらを扱うためのストリームラッパーを提供しています。
ということで、ホントにPhar拡張を使ってtar.gzファイルを展開することなく直接扱えるか試してみました。
とりあえずreadfileしてみる
[tanaka@delta phar]$ php -r 'readfile("phar://senkyo.tar.gz/senkyo/ikou/touhyo.txt", false);' その一票が日本を救う。 GO!選挙!
できた。選挙行きましょう。
opendirもできるらしいのでやってみる
[tanaka@delta phar]$ php -r '$dh = opendir("phar://senkyo.tar.gz/senkyo"); while (($file = readdir($dh)) !== fal se) {echo $file, PHP_EOL;} closedir($dh);' gimu ikou joushiki zettai
良い感じに読めるよ。なかなかなかなか。
ほかにも書き出しもできるらしいです。これは使える。Phar extensionのstream wrapper!