spenceddd Posted December 26, 2009 Share Posted December 26, 2009 This file returns a list of filenames to help populate a drop down in my form. For some reason it ignores any file names that begin with numbers, could anyone please tell my why and show me how to solve it? <?php function buildFileList5($theFolder, $value) { // Execute code if the folder can be opened, or fail silently if ($contents = @ scandir($theFolder)) { // initialize an array for matching files $found = $output = array(); // Create an array of file types $fileTypes = array('jpg','jpeg','gif','png','JPG'); // Traverse the folder, and add filename to $found array if type matches $found = array(); foreach ($contents as $item) { $fileInfo = pathinfo($item); if (array_key_exists('extension', $fileInfo) && in_array($fileInfo['extension'],$fileTypes)) { $found[] = $item; } } // Check the $found array is not empty if (!empty($found)) { // Sort in natural, case-insensitive order, and populate menu natcasesort($found); //$selectedImage = ""; //default image foreach ($found as $filename){ $sel = ""; //reset $sel $selectedImage = ""; //default image if($value == $filename) { $sel = "selected=\"selected\""; $selectedImage = $filename; } $output[] = "<option value=\"$filename\" $sel>$filename</option>\n"; } } return (empty($output) ? '<option value="-1">No Items Found in `'.$theFolder.'`</option>' : '<option value="-1">Please select an Item</option'."\n".join("\n",$output)); } } ?> Thanks a million for any help on this. Spencer Quote Link to comment https://forums.phpfreaks.com/topic/186366-why-does-this-file-not-return-file-names-that-start-with-numbers/ Share on other sites More sharing options...
salathe Posted December 26, 2009 Share Posted December 26, 2009 It might help, or it might not, but could you give some example filenames (and any other information you think might be relevant) which are mistakenly ignored? Quote Link to comment https://forums.phpfreaks.com/topic/186366-why-does-this-file-not-return-file-names-that-start-with-numbers/#findComment-984220 Share on other sites More sharing options...
spenceddd Posted December 26, 2009 Author Share Posted December 26, 2009 Yes of course, here is the file list: weekScan.jpg 1Autumn Leaves.jpg Creekbo.jpg Croak.jpg Desert Landscape.jpg Dock.jpg Fluence-1600x1200.jpg Garden.jpg Green Sea Turtle.jpg IMG_0754.JPG Tree.jpg of which only the item: 1Autumn Leaves.jpg odesn't load into the drop down list. Also if i change the names of the other items to inlcude numbers at the start of the name, they stop working too. You can see the form here where the image box drop downs are the drop downs in question. http://www.spencercarpenter.co.uk/portfolioAppFiles/simpleForm.php Hopefully that helps a bit. Spencer Quote Link to comment https://forums.phpfreaks.com/topic/186366-why-does-this-file-not-return-file-names-that-start-with-numbers/#findComment-984227 Share on other sites More sharing options...
PFMaBiSmAd Posted December 26, 2009 Share Posted December 26, 2009 The HTML is invalid. It actually works in FF (which ignores a lot of markup errors) but does not work in IE. The problem is there is no closing > in the following - <option value="-1">Please select an Item</option Quote Link to comment https://forums.phpfreaks.com/topic/186366-why-does-this-file-not-return-file-names-that-start-with-numbers/#findComment-984229 Share on other sites More sharing options...
spenceddd Posted December 26, 2009 Author Share Posted December 26, 2009 Ah yes got it thanks very much. Merry Christmas! Quote Link to comment https://forums.phpfreaks.com/topic/186366-why-does-this-file-not-return-file-names-that-start-with-numbers/#findComment-984254 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.