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

野口 亨 noguchi @ omika.jsdi.net
2003年 6月 3日 (火) 16:03:27 JST


いつもお世話になっております。
野口です。

ありがとうございます。

│> ワイルドカードに関して、拡張部分を除く基本的な部分はWindowsと同じですね。
│> だとしたら、unlink("../../UserData/*.csv");でワーニングが出た理由が
│> わかりません。
│
│これを読むとWindows版PHPではunlinkでワイルドカードを使うことで、
│複数のファイルの削除ができたようにも読めますが、どうですか?
│手元のPHP 4.3.0 on Windows XPでは同じscriptではファイルの削除は
│できませんでした。

言葉足らずでした。
Windows上でのテストはしていません。
unlinkでワイルドワードが出来る前提で話していました。

│> 大量のファイルがある場合、ワイルドカードを使い、
│> 一度に削除できたほうが高速だと思うのですが、、、
│
│いずれどこかでワイルドカードの展開をしなくちゃならいので、
│高速にはならないでしょう。scriptが短くなることは確かですが。

LINUXのシェル上での展開とPHP上での展開は、時間的には同じということですか?

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

何通か前の私の投稿で、globを使ってのunlinkで動作確認したことを
報告しました。

同じスクリプトを他OS上でも実行できるようにするために、
やはり、globを使った方法の方が、正論なのでしょうか?

尚、4000個ほどのファイルを削除したとき、
秒単位までで測定したところ、
system(rm $userfile)もglobを使ったunlinkも1秒でした。

以上、よろしくお願いします。

♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪
   野口 亨
E-Mail: noguchi @ omika.jsdi.net
♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪



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