ywork2020.com

Title

ファイルとディレクトリの一覧を取得する

目次 (INDEX)

scandir とは

ここで説明する scandir とは次の語句からなる PHP の関数です。
scan
読み: スキャン
意味: ざっと見る、走り読みする
directory
読み: ディレクトリ
意味: 住所録、名鑑、要覧

目次に戻る

scandir 関数の概要

この関数は、引数に与えたパスのファイルとディレクトリのリストを配列として返します。

目次に戻る

構文

サンプルを見る前に構文を確認しておきます。

$arrList = scandir(strDirectory [, intSortingOrder] [, context]);
  • strDirectory: スキャンするディレクトリを文字列で指定します。絶対、または相対参照を使用することができます。
  • intSortingOrder: 取得する配列の並び変えを指示するオプションです。昇順や降順のことです。
    • SCANDIR_SORT_ASCENDING = 0 ( 昇順 = 初期値 )
    • SCANDIR_SORT_DESCENDING = 1 ( 降順 )
    • SCANDIR_SORT_NONE = 2 ( 未指定 )
  • context: context パラメーターを設定します。初期値は null です。詳細は PHP: ストリーム 関数 - Manual を参照してください。

目次に戻る

サンプルコードと実行結果

ここでは、scandir() を使って、このページのファイルと同じディレクトリにあるファイルの名前を 5 つ程、書き出してみます。

サンプルコード: HTML ( 拡張子は .php )
<body>
<?php
	... 
?>
</body>
  • 02: <?php (php のコードを記述するための開始タグです。)
  • 03: ... (この行は [ サンプルコード: PHP ] の内容の部分です。)
  • 04: ?>(php の記述を終了するための終了タグです。)
  • ここでは HTML ドキュメントの body 要素内に php の開始タグと終了タグを置いていますが、 開始タグと終了タグはドキュメントのどの部分に設置しても構いませんし、ドキュメント内の複数の場所に分けて記述しても問題ありません。 また、HTML ドキュメントとしてではなく、純粋に php のコードのみを記述しても構いません。 ただし、どの記述方法であろうともファイルの拡張子は .php であることが必要です。
サンプルコード: PHP
<?php
	$arrDirectory = scandir("./");
	for($i = 2; $i < 7; $i++){
		echo( $arrDirectory[$i] . "<br>" );
	}
?>
  • 02: $arrDirectory (この変数に scandir() から得たファイル名を配列として代入します。引数に与えた "./" は、同じディレクトリを意味します。)
  • 03-5: for($i = 2; $i < 7; $i++){ 処理 } ($i というカウンター変数を 2 ~ 6 の数値で可変しながら 処理 を実行します。)
  • 04: echo( $arrDirectory[$i]."<br>" ); (処理 の部分です。$i を可変しながら $arrDirectory 配列 の値を書き出しています。)
実行結果:
begin-make-a-file.html
css-@keyframes.html
css-active.html
css-after.html
css-animation-delay.html

目次に戻る