ディレクトリ内のディレクトリやファイル名を取得する

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ディレクトリ内のディレクトリやファイル名を取得したい</title>
</head>
<body>
<?php
# 調べるディレクトリ名を設定します。
$dirName = '../test';

echo "<p>ディレクトリ名: $dirName </p>";
echo '<p>絶対パス: ' . realpath($dirName) . '</p>';
echo '<p>ディレクトリ内のディレクトリやファイル名一覧</p>';

# PHPのバージョンをチェックします。
# PHP4の場合はdir()関数、PHP5の場合はscandir()関数を利用します。
if (version_compare(PHP_VERSION, '5.0.0') === -1) {
  // PHP4
  $dir = dir($dirName);
# $dir(ディレクトリオブジェクト)のread()メソッドを呼び出すとディレクトリの
# 中身を1つ取得できます。取得したファイル名またはディレクトリ名を$fileNameに
# 代入します。$fileNameがFALSEになる、つまり、ディレクトリの中身がなくなるまで
# while構文でループします。比較演算子が「!==」と厳密な一致であることに注意して
# ください。「!=」にしてしまうとFALSEと評価されるファイル名があるとループが
# 終了してしまいます。
  while (FALSE !== ($fileName = $dir->read())) {
    $fileArray[] = $fileName;
  }

# $dir(ディレクトリオブジェクト)のclose()メソッドを呼び出しディレクトリを
# 閉じます。
  $dir->close();

  // 昇順で並べ替え
  sort($fileArray, SORT_STRING);
  // 出力
  echo '<pre>';
  print_r(h($fileArray));
  echo '</pre>';

  // 降順で並べ替え
  rsort($fileArray, SORT_STRING);
  // 出力
  echo '<pre>';
  print_r(h($fileArray));
  echo '</pre>';

} else {
  // PHP5
# ディレクトリからディレクトリ・ファイル名を昇順で取得します。
  $fileArrayAsc = scandir($dirName);
  // 出力
  echo '<pre>';
  print_r(h($fileArrayAsc));
  echo '</pre>';

# ディレクトリからディレクトリ・ファイル名を降順で取得します。
  $fileArrayDesc = scandir($dirName, 1);
  // 出力
  echo '<pre>';
  print_r(h($fileArrayDesc));
  echo '</pre>';
}

function h($var) { // HTMLでのエスケープ処理をする関数
  if (is_array($var)) {
    return array_map('h', $var);
  } else {
    return htmlspecialchars($var, ENT_QUOTES);
  }
}
?>
</body>
</html>