がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

めも:指定ディレクトリ配下の通常ファイルのListを取得

うんなんていうかタイトルそのまんま。
一応念のため。場当たり的に作ったのでエラーチェックとかろくすっぽしてないから使う時は注意。

// 第二引数は trueなら先頭.なファイルも取り込む
function get_al_filename($base_dir, $flg = false)
{
  //
  $ret = array();

  // 一応
  if ('/' !== $base_dir[strlen($base_dir) - 1]) {
    $base_dir .= '/';
  }
//var_dump($base_dir);

  //
  $dh = opendir($base_dir);
  if (false === $dh) {
    return $ret;
  }

  // ぶん回す
//print "Trap 1\n";
  while(false !== ($fn = readdir($dh))) {
    // まずいらんもんはじく
    if ("." === $fn) { continue; }
    if (".." === $fn) { continue; }
    if (false === $flg) {
      if ("." === $fn[0]) { continue; }
    }

    // ファイル名作成
    $fn = $base_dir . $fn;
//var_dump($fn)

    // ファイルならぶち込む
    if (true === is_file($fn)) {
      $ret[] = $fn;
    }

    // ディレクトリなら再帰処理
    if (true === is_dir($fn)) {
      $ret = array_merge($ret, get_al_filename($fn));
    }

    // XXX シンボリックリンクとかは処理してない〜
  }

  //
  return $ret;
}

ちなみに使用例。

$ret = get_al_filename("./");

覚書というかメモというか。