PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのscandir()関数でディレクトリ内のファイル・フォルダを検索する方法

フォルダやファイルが存在するかどうかを確認するには、is_dir() または is_file() 関数を使用します。これらの関数を組み合わせることで、指定したパスの中身を柔軟に判定できます。

scandir() 関数は PHP の組み込み関数で、指定したディレクトリ内に存在するファイルとディレクトリの一覧を配列として返します。ユーザーが指定したパスの中身を簡単に取得できる便利な関数です。

コード例

$scan = scandir('myFolder');
foreach($scan as $file) {
    if (!is_dir("myFolder/$file")) {
        echo $file.'
';
    }
}

出力結果

指定されたパス内のファイルとディレクトリの一覧(存在する場合)

このコードでは、scandir() 関数によってディレクトリ「myFolder」をスキャンし、その中にあるファイルやサブディレクトリを取得しています。続く foreach ループで各エントリーを順番に処理し、is_dir() の判定が false、つまりディレクトリではない項目(=ファイル)だけを画面に表示します。

ポイント:scandir() の戻り値に含まれる特殊エントリー

scandir() の返り値には、カレントディレクトリを示す「.」と親ディレクトリを示す「..」も含まれます。ただしこれらは is_dir() が true を返すため、上記のコードでは自動的に除外され、実ファイルのみが出力される仕組みになっています。

また、指定したパスが存在しない場合、scandir() は false を返します。そのため、実際の開発では処理前に is_dir() でディレクトリの存在を確認するか、戻り値が false でないことをチェックしてからループ処理を行うのが安全です。

  1. PHPのimageellipse()関数で楕円を描画する方法を徹底解説

    imageellipse()は、PHPに標準で組み込まれているGDライブラリの関数の一つで、画像上に楕円を描画するために使用されます。処理が成功した場合はtrueを返し、失敗した場合はfalseを返します。 構文 bool imageellipse($image, $cx, $cy, $width, $height, $color) パラメータ imageellipse()は、以下の6つのパラメータを受け取ります:$image、$cx、$cy、$width、$height、$color。 $image − 描画対象となる画像リソースを指定します。imagecreatetruecolor()な

  2. PHPのimagecropauto()関数で画像を自動的に切り抜く方法を徹底解説

    imagecropauto()は、PHPに標準で組み込まれている関数の一つで、用意された複数のモードの中から選択して、画像を自動的に切り抜き(クロップ)することができます。構文resource imagecropauto(resource $image, int $mode, float $threshold, int $color)パラメータimagecropauto()は、$image、$mode、$threshold、$color の4つのパラメータを受け取ります。$image − 切り抜き対象となる画像リソースを指定します。$mode − 省略可能なパラメータで、切り抜きモードに対応す