alconebay Posted March 31, 2009 Share Posted March 31, 2009 I need to count the number of images in a directory for a loop. Right now I am using this: $dir = "folder/".$client."/"; $count = 0; //can adjust starting number if needed if(is_dir($dir)) { if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { $count++; } closedir($handle); } } That works great for getting a $count on everything in the directory, but I just want to count all the jpg files (jpg, JPG, jpeg, JPEG) in the dir. Quote Link to comment https://forums.phpfreaks.com/topic/151963-solved-count-number-of-images-in-a-directory/ Share on other sites More sharing options...
premiso Posted March 31, 2009 Share Posted March 31, 2009 Using glob would be much easier, especially since it allows for you to choose. Look into that, it would be something like: <?php $dir = "folder/".$client."/"; if(is_dir($dir)) { $images = glob($dir . "{*.jpg, *.JPG, *.jpeg}"); echo "There are " . count($images) . " inside of {$dir}."; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/151963-solved-count-number-of-images-in-a-directory/#findComment-798005 Share on other sites More sharing options...
alconebay Posted March 31, 2009 Author Share Posted March 31, 2009 Thanks. Glob got me what I needed. I'm not sure if the brace thing at the end is necessary but it seems to work fine with it. <?php $images = glob("$dir{*.jpg,*.JPG,*jpeg, *JPEG}", GLOB_BRACE); $count = count($images); ?> Quote Link to comment https://forums.phpfreaks.com/topic/151963-solved-count-number-of-images-in-a-directory/#findComment-798048 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.