I understand what you're saying.  You like the convenience of having the 
entire thing kept in a neat variable called $file_list, which you can 
add to your page in any place that you like, but you need a unique name 
for each <select> input tag so that on the "receiving" PHP script, you 
can access the contents of each time that you use $file_list.

Unfortunately, I can't think of a good way for you to make these input 
names unique.  The best thing I can suggest is that you turn this into a 
function/subroutine, and pass the string you wish to use as a unique 
name to the function as its argument (and you can make this a reuaseable 
function by also passing the $dir_name as an argument, and the target of 
the form tag).  Like this:

// $dir_name = name of directory to list
// $form_target_page = name of page to receive this form's input
// $input_name = unique name for this <select> input
function file_list($dir_name, $form_target_page, $input_name)
{
   if (!$dir = opendir($dir_name)) {
     return "Could not open directory $dir_name";
   } else {
     $file_start = "<p><form method=\"post\" action=\"$form_target_page\">
                    <select name=\"$input_name\">\n";

     while ($file_name = readdir($dir)) {
       if ($file_name != '.' && $file_name != '..') {
         $file_list .= "<option 
value=\"$file_name\">$file_name</option>\n";
       }
     }
     closedir($dir);

     $file_finish = "</select><br /><br />
                     <input type=\"submit\" name=\"submit\" 
value=\"select\">
                   </form></p>\n";

     // this function prints the form as its return value
     return $file_start . $file_list . $file_finish;
   }
}


On Monday, April 8, 2002, at 12:58  PM, Jas wrote:

> Here is what I need some information about, the script below opens a
> directory on the server, reads the files and places them into select 
> boxes
> within a form, now I have this echoed multiple times on the page like
> so...<? echo "$file_list"; ?> Now I have tried to assign a form name 
> based
> on the $file_name varibable but because the $file_name variable is 
> created
> after the form has been created I cannot assign a unique form name each 
> time
> I call <? echo "$file_list"; ?>.  If someone could point out another 
> way to
> do this or point out a good function for this I would greatly 
> appreciate it.
> <?php
> $dir_name = "/path/to/images/directory/";
> $dir = opendir($dir_name);
> $file_list .= "<p><FORM METHOD=\"post\" ACTION=\"index_done.php3\">
> <SELECT NAME=\"files\">";
>  while ($file_name = readdir($dir)) {
>   if (($file_name != ".") && ($file_name !="..")) {
>   $file_list .= "<OPTION VALUE=\"$file_name\"
> NAME=\"$file_name\">$file_name</OPTION>";
>   }
>  }
>  $file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\"
> VALUE=\"select\"></FORM></p>";
>  closedir($dir);
> ?>
> Thanks in advance,
> Jas
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>





----

Erik Price
Web Developer Temp
Media Lab, H.H. Brown
[EMAIL PROTECTED]


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to