[PHP-users 15650]Re: unlink()でワイルドカード

IWASAKI Dai dai @ tristan.jp
2003年 6月 3日 (火) 12:10:45 JST


いわさきといいます。

At Tue, 03 Jun 2003 11:08:19 +0900,
野口 亨 wrote:
> ワイルドカードに関して、拡張部分を除く基本的な部分はWindowsと同じですね。
> だとしたら、unlink("../../UserData/*.csv");でワーニングが出た理由が
> わかりません。

これを読むとWindows版PHPではunlinkでワイルドカードを使うことで、
複数のファイルの削除ができたようにも読めますが、どうですか?
手元のPHP 4.3.0 on Windows XPでは同じscriptではファイルの削除は
できませんでした。

> 大量のファイルがある場合、ワイルドカードを使い、
> 一度に削除できたほうが高速だと思うのですが、、、

いずれどこかでワイルドカードの展開をしなくちゃならいので、
高速にはならないでしょう。scriptが短くなることは確かですが。

FreeBSD上ですが、無理やり *.csv という名前のファイルを作って、
*.csv a.csv b.csv
の三つのファイルを用意して、 unlink("*.csv"); を実行すると
*.csvだけが削除されました。

勝手にワイルドカードを展開されても困る場合も出てくるということで。
# 無理やりなんで現実的な話じゃないでしょうけど

> #結論として、unlinkでは、ワイルドカードは使えないのですか?
>  これだけは、PHPやLINUXのマニュアル等みてもわかりません。
>  (使い方が明記していないのなら、使えないのでしょうと思いますが。)
使えないというか、ワイルドカードを展開するのはglobを使えば
どの関数でも対処できますよね。


---
To infinity and beyond...
いわさきだい  <dai @ tristan.jp>





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