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. 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}."; } ?> 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); ?> 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
Archived
This topic is now archived and is closed to further replies.