include と require

書き方

どちらも構文的な使い方と関数的な扱いができ、相対パスと絶対パスのどちらも大丈夫。

include './file.php';
require './file.php';
include('./file.php');
require('./file.php');

ファイル読み込み時の挙動

指定したファイルがなかったとき、includeは警告のみに止まり処理が継続されるが、requireはエラーとなり処理が停止する。
バックエンド側プログラムはrequireを使い、HTML出力などのフロント側の処理はincludeを使うことが一般的。

ファイル一覧の取得処理

glob使えるん知らんかった。

foreach(glob('/dir/*.*') as $file) {
  echo $file;
}

var_dump( scandir('/dir/') );

foreach(new DirectoryIterator('/dir/') as $file) {
  echo $file->getPathname();
}

if ($dh = opendir('/dir/')) {
  while(($file = readdir($dh)) !== false) {
    echo $file;
  }
  closedir($dh);
}