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

野口 亨 noguchi @ omika.jsdi.net
2003年 6月 3日 (火) 11:08:19 JST


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

│Googleで、「Windows LINUX ワイルドカード」でかけてみてください。
│使えそうなのが出てきます(と思います)。

AOKI様、ありがとうございます。
「Unlink ワイルドカード」で探していたから見つからなかったのですかね。
で、教えていただいたキーで検索して見つけたページですが、
以下のページのによると、
http://www.linux.or.jp/JF/JFdocs/DOS-Win-to-Linux-HOWTO-4.html#ss4.4

ワイルドカードに関して、拡張部分を除く基本的な部分はWindowsと同じですね。
だとしたら、unlink("../../UserData/*.csv");でワーニングが出た理由がわかりません。

先ほど、私が投稿した
	$UserFile = "../../UserData/*.csv";
	foreach (glob($UserFile) as $filename) {
		unlink($filename);
	}
を使えば、思い通りのことが実現できますが、
大量のファイルがある場合、ワイルドカードを使い、
一度に削除できたほうが高速だと思うのですが、、、

ここまで書いていたら、seto様の投稿がありました。
ありがとうございます。

|exec関数や実行演算子あたりを調べてみてください そこで
|  Linuxなら rm コマンドが利用できますし
|  Windowsなら del コマンドが利用できるとおもいます。

環境はTURBOLINUX Apche1.372 PHP4.3.1です。
(OSは、Red Hatに変更の可能性あり、バージョンは特定できない。)
よって、以下のように実現したら、成功しました。

	$UserFile = "../../UserData/*.csv";
	system("rm " . $UserFile);

とりあえず、これで完結とします。
皆様、ありがとうございます。
#結論として、unlinkでは、ワイルドカードは使えないのですか?
 これだけは、PHPやLINUXのマニュアル等みてもわかりません。
 (使い方が明記していないのなら、使えないのでしょうと思いますが。)

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

♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪
日本システムディベロップメント株式会社
   社会システム開発グループ 
   野口 亨
E-Mail: noguchi @ omika.jsdi.net
TEL: 0294-53-9490  FAX: 0294-54-2280
URL: http://www.jsdi.net/
♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪



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