なかなかハードなコーディングをしない限り、お世話にはならんだろう「glob」関数。
コイツはフルパス中のファイル・ディレクトリをアバウトに検索する折に役立ってくれますよ!
// 例えば、下記ディレクトリに $dir = dirname(__DIR__) . "/public/thumbnail/member/"; // 1.すべてのJPGを探したいYO $find[0] = "*.jpg"; // 2.サブパス+拡張子度外視で指定名のファイルを探したいYO $find[1] = "F999999*"; // 3.指定の拡張子を探したい $find[2] = "*.{jpg,gif,png}"; // 4.正規表現使いたい(F***.jpgとかF******.mp4とか) $find[3] = "(F\d+)\.(jpe?g|mp4|m3u8)"; // 検索結果 // 1.は一次元配列下に結果が格納される $files = glob($dir . $find[0]); print_r($files); /* [0] => /var/www/project/app/storage/public/thumbnail/member/akira.jpg [1] => /var/www/project/app/storage/public/thumbnail/member/F001.jpg [2] => /var/www/project/app/storage/public/thumbnail/member/noimg.jpg */ // 2.同様 $files = glob($dir . $find[1]); print_r($files); /* [0] => /var/www/project/app/storage/public/thumbnail/member/F999999.mp4 [1] => /var/www/project/app/storage/public/thumbnail/member/F999999/thumbs/005.webp [2] => /var/www/project/app/storage/public/thumbnail/member/F999999/thumbs/trush/000.gif */ // 3.拡張子の複数指定には引数を使う $files = glob($dir . $find[2], GLOB_BRACE); print_r($files); /* [0] => /var/www/project/app/storage/public/thumbnail/member/F999999.jpg [1] => /var/www/project/app/storage/public/thumbnail/member/F999999.gif */ // 4.パターンにより、結果は多次元配列化 $files = glob($dir . $find[2]); print_r($files); /* [0][0] => /var/www/project/app/storage/public/thumbnail/member/F99.jpg [0][1] => /var/www/project/app/storage/public/thumbnail/member/F99.m3u8 [1][0] => /var/www/project/app/storage/public/thumbnail/member/F9999999.mp4 */
コメント