Jump to content

Recommended Posts

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 by et4891

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....

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 by davidannis
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.