Jeeeeezus!
Will the substring freaks go away.
<?
preg_match('/(.*).([a-z0-9]{3,4})$/i',$file_name, $split);
//$split is now an array as so:
//array([0]=>'file_name.ext',[1]=>'file_name',[2]=>'ext')
print_r($split);
?>
Now you can loop back and forth with this array to pick out filenames based upon extension, a far better way to go esp. when dealing with large directories.