[PHP-users 16617]Re: stream_wrapperと file_exists

sumi @ orihime.net sumi @ orihime.net
2003年 7月 10日 (木) 15:07:58 JST


SUMiです。

> いわきりです

こんにちは。

> sumi @ orihime.net wrote in <20030708122150.5CCC.SUMI @ orihime.net> :
> >マニュアルの
> >http://search.net-newbie.com/php/function.stream-register-wrapper.html
> >のサンプルのクラスを使用してさまざまなライブラリを使用する実験を行ってい
> >たのですが、file_existsにURIが渡されると、FALSEが返ってきます。
> >ファイルシステム上にはもちろんファイルは存在していないので当然の結果と言
> >えるかもしれませんが、
> 
> file_exists()は、リモートファイルには使えませんとマニュアルに
> ありますね。

やっぱり無理ですよねぇ…

> >PEARのさまざまなクラスで組み合わせれば面白そうなクラスがあるのに、使用で
> >きないのは残念でなりません。
> ># そのクラスのほうがfile_existsなどを使わないように変更すれば、それはそ
> ># れなんですが。
> 
> file_exists()による検査を無くし、fopen()の結果で判断するのが
> 一番楽そうです。

今回はPEARのパッケージを使おうとしていたので、手を入れるのはちょっと…と
いうところです。パッケージのバージョンが上がるたびに手を入れなければなら
なくなりますし。
PEARやその他のライブラリでも「StreamWrapper対応!」という謳い文句が付く
ような時代が来ると嬉しいのですが、StreamWrapperがもっとメジャーになるの
は先でしょうか。

ちなみに、今回試していたのは「Config」というパッケージでした。xmlや
php.iniやapache.confなどのさまざまな設定ファイルを扱える便利なパッケージ
でしたが、あくまで「ファイルを開いて読み込む」「ファイルに設定を書き出す」
ということしかできませんでした。
それでStreamWrapperを使用してみたのですが、file_existsのために
StreamWrapperが使用できませんでした。
# まぁ、一時ファイルを用意するという方法も取れるでしょうが、それはさてお
# き。

なお、完全に調べてはいませんが、XML_ParserパッケージはStreamWrapperが使
用できるようです。



PHP-users メーリングリストの案内