et4891 Posted February 15, 2013 Share Posted February 15, 2013 (edited) I'm currently making a droplist but in the droplist let's say I only want to include only .txt extension files so any other extensions like .php .jpg or any other extensions will not be in in the droplist. How can I do that as simple as possible? Another question is I want to make a warning IF the folder does not have any .txt extension files an error message will show. So even if there are other .jpg .php or any other files inside as long as there's no .txt file in the folder a warning will show. Anyone able to give me a hand? This is what I have done but it only shows a drop-list with no .txt at the end but it will still show other random files in the drop-list though. if(!(is_dir("./aaa"))) { die("Must create a folder first, sorry"); } $lists = scandir("./aaa"); echo "<form action=\"./page2.php\" method=\"get\">"; echo "<select>"; foreach($lists as $list) { if(($list == ".") || ($list == "..")) { continue; } echo "<option value=\""; echo basename($list,".txt"); echo "\">"; echo basename($list,".txt"); echo "</option>"; } echo "</select>"; echo "</form>"; P.S. I'm still new with php so hopefully there'll be a none complicated way of doing it Edited February 15, 2013 by et4891 Quote Link to comment https://forums.phpfreaks.com/topic/274512-how-to-make-droplist-only-with-specific-file-with-php/ Share on other sites More sharing options...
et4891 Posted February 15, 2013 Author Share Posted February 15, 2013 I did kind of solve the problem of my own but still a few glitches I'm not sure how to make it right. I used substr($file, -3) == "txt" to check if the file is ending with txt but somehow I just can't figure how to make it check and ignore the upper/lower case. If I changed txt to TXT then the file won't show. I wonder if there's a way to make it check either upper/lower case as long as it's ending with txt. Also I used $hastxt = false; and $hastxt=true; into the foeach loop so if it's false then a not will show error, there's no txt file in the directory BUT in the page it'll show the droplist without anything in it then the error under the droplist. I wonder if it is possible to change it to if there's no txt file in the directory then the whole page will just say the word error or something like that without showing anything else.... Quote Link to comment https://forums.phpfreaks.com/topic/274512-how-to-make-droplist-only-with-specific-file-with-php/#findComment-1412574 Share on other sites More sharing options...
PaulRyan Posted February 15, 2013 Share Posted February 15, 2013 Try this: substr(strtolower($fil)e, -3) == "txt" Quote Link to comment https://forums.phpfreaks.com/topic/274512-how-to-make-droplist-only-with-specific-file-with-php/#findComment-1412579 Share on other sites More sharing options...
et4891 Posted February 15, 2013 Author Share Posted February 15, 2013 Try this: substr(strtolower($fil)e, -3) == "txt" ya but as my second post said....if I change the extension to .TXT then on the droplist it'll say abc.TXT instead of just showing abc Quote Link to comment https://forums.phpfreaks.com/topic/274512-how-to-make-droplist-only-with-specific-file-with-php/#findComment-1412589 Share on other sites More sharing options...
davidannis Posted February 15, 2013 Share Posted February 15, 2013 (edited) I think Paul meant do this: if (substr(strtolower($list), -3) == "txt"){ echo "<option value=\""; echo $list; echo "\">"; echo $list; echo "</option>"; } The case in $list won't be changed by the if. Edited February 15, 2013 by davidannis Quote Link to comment https://forums.phpfreaks.com/topic/274512-how-to-make-droplist-only-with-specific-file-with-php/#findComment-1412599 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.