ディレクトリ内のファイルも含めてディレクトリごと、ごっそりと削除したいという場合があると思います。
Linuxのコマンドを使えば簡単なんでしょうけど、どうしてもPHPでプログラミングしなければならない場合には、仕方なくスクリプトを書きます。
やり方は分かっているんですが、忘れてしまうので、残しておくことにします。
流れはこのようになります。
- opendir()してディレクトリを開ける。
- readdir()でディレクトリ内を読み込む。
- unlink()でファイルを一つずつ削除する。
ディレクトリごと削除するPHP関数
<?php
echo remove_dir('ディレクトリへのパス');
/**
* ディレクトリを削除
*
* @param string $dir
* @return bool
*/
function remove_dir($dir = '') {
if ($dir && is_dir($dir))
{
if ($dp = opendir($dir))
{
while (($item = readdir($dp)) !== false)
{
if ($item != '.' && $item != '..')
{
if (is_dir($dir . '/' . $item))
{
$_function_name = __FUNCTION__;
$_function_name($dir . '/' . $item);
}
else
{
unlink($dir . '/' . $item);
}
}
}
closedir($dp);
return rmdir($dir);
}
}
}
以上です。
0 件のコメント:
コメントを投稿