仕事では、特定のディレクトリ内のファイルをバッチ処理する必要がある操作に遭遇することがあります。このとき、ディレクトリ内の条件を満たすすべてのファイルを検索し、結果セットに保存する必要があります。バッチ処理の場合は、配列に保存してループ処理するのが一般的です。その処理を以下に記録します。
<?php //php获取目录所有文件并将结果保存到数组 foreach(glob("./*") as $d){ $tmp=explode(".",$d); $k=end($tmp); //如果是文件,并且后缀名为jpg png的文件 if(is_file($d)&&in_array($k,array("jpg","png"))){ $files[]=$d; } } echo "<pre class="brush:php;toolbar:false">";print_r($files);
上記のソース コードは、現在のディレクトリ内の接尾辞 jpg png を持つすべてのファイルをリストし、結果を配列として保存して出力します。このテストの結果は次のように出力されます。
興味がありそうな記事 PHP が生成する連続数値 (文字) 配列関数 range() 解析、PHP 宝くじプログラム関数