Webサイトの運営会社で得た技術的な知識を記録していきます。 サーバー情報、Webデザイン、プログラミング、このWebサイトで利用させていただいているBlogger(ブロガー)についても公開していきます。

PHPでディレクトリごと削除する関数

PHPでプログラミングをしていて、ディレクトリの操作についてです。

ディレクトリ内のファイルも含めてディレクトリごと、ごっそりと削除したいという場合があると思います。

Linuxのコマンドを使えば簡単なんでしょうけど、どうしてもPHPでプログラミングしなければならない場合には、仕方なくスクリプトを書きます。


やり方は分かっているんですが、忘れてしまうので、残しておくことにします。

流れはこのようになります。

  1. opendir()してディレクトリを開ける。
  2. readdir()でディレクトリ内を読み込む。
  3. 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 件のコメント:

人気記事

ラベル

アーカイブ

ページ

このブログを検索