PHPのglob()関数を使用しフォルダ内のファイルを数えてみます。
glob()関数は、パターンと一致するパス名を探すことができます。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■ファイルが置かれたフォルダを用意する
今回、フォルダ内のファイルを数えてみますが、その前にファイルが置かれたフォルダを用意します。
今回用意したのは、5つのtxt形式のテキストファイルが置かれたフォルダです。テキストファイルが置かれている場所は「C:\Users\user_\test(フォルダパス)」です。
■glob()関数を使用しフォルダ内のファイルを数える
ファイルが置かれたフォルダの用意ができましたので、PHPのglob()関数を使用しフォルダ内のファイルを数えるスクリプトを書いていきます。
■コード
<?php
$folderpath = 'C:\Users\user_\test';
$file = glob(($folderpath . "/*"));
$countfile = 0;
if ($file != false ){
$countfile = count($file);
}
print_r($countfile);
?>
フォルダ内のファイルを数える場合は、今回は、folderpathという変数を定義し、その中にファイルが置かれたフォルダのパスを格納します。
格納後、fileという変数を定義し、その中でglob()関数を使用します。glob()関数の括弧内には、第1の引数,パラメータとして、folderpath変数を渡します。第2の引数,パラメータとして、特殊文字(ワイルドカード)”/*(スラッシュ,アスタリスク)”を渡します。これで、folderpath変数に格納したフォルダパス内のすべての種類のファイル、またはすべての拡張子が対象となります。
次に、countfileという変数を定義し、その中に数値の「0」を格納し、カウントを初期化します。
その後、if文を使用し、括弧内に”!=”,非一致比較演算子を使用し、false(偽)とfile変数が等しくない(false(偽)とfile変数が一致していない)という条件を設定します。条件を満たす(True・真)の場合に、countfileという変数を定義し、その中でcount()関数を使用します。count()関数の括弧内には、引数,パラメータとしてfile変数を渡します。これで、フォルダパス内のすべての種類のファイル、またはすべての拡張子の数が数えられて、countfile変数に格納されます。
最後にcountfile変数の情報をprint_r()関数で出力します。
■実行
では、このスクリプトを「count_number_files_folder.php」という名前で保存し、実行させてみます。
実行させてみると、glob()関数を使用したことで、フォルダ内のファイルを取得し、さらにcount()関数を使用したことで、取得したファイルの数がカウントとされ、print_r()関数で出力させることができました。
コメント