[PHP-users 33349] Re: PHPでサーバのディレクトリを削除

岡本 基 okamoto @ airnet.jp
2008年 3月 5日 (水) 15:24:18 JST


岡本です。

PHP ディレクトリ削除
でググれば出てくるかと思いますが。
とりあえず・・・・


function rmDirectory($dir){
	if ($handle = opendir("$dir")){
		while (false !== ($item = readdir($handle))){
			if ($item != "." && $item != ".."){
				if (is_dir("$dir/$item")){
					rmDirectory("$dir/$item");
				}else{
					unlink("$dir/$item");
				}
			}
		}
		closedir($handle);
		rmdir($dir);
	}
}

リファレンスにそのままズバリ出ています。

削除対象がディレクトリだったら、再度自分自身を呼んで、対象のディレクトリ
の中身を掃除し、最終的に中身が空っぽになったら「rmdir」でディレクトリを
消すと言うイメージですね。


他に方法としては、
system関数等を使用してそのまんまの
「rm -rf <ディレクトリ名>」
これで解決ですが。
一番直感的でシンプルなのは後者でしょうか。。。。


参考:
http://jp.php.net/rmdir
http://q.hatena.ne.jp/1156487724


でわでわ


On Wed, 05 Mar 2008 15:14:37 +0900
t-bird <t-bird @ connectworks.jp> wrote:

> サトウと申します。
> 
> PHPで所定のディレクトリをごっそり削除したいのですが、どんな方法がありますでしょうか。
> 
> FTP関数で ftp_rmdir を使おうと思ったんですが、これだとディレクトリに内容物があると
> だめなようなので、何か方策がないかと思っています。
> 
> 既出でしたら申し訳ないですが、いろいろ検索したのですが解決に至らないのでアドバイスを
> 頂ければと思います。
> 
> よろしくお願いします。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3





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