Avatar billede jan_mm Nybegynder
03. januar 2006 - 09:56 Der er 10 kommentarer og
1 løsning

Filer i list/menu

Hej experter,

jeg har problemer med at få en indholdet af en mappe med filer til at blive listet i en list. Jeg kan godt se fil navnene men kan ikke liste dem korrekt. Håber der nogen der kan hjælpe mig.

Min kode ser således ud:


<?php
$dir = "../files";
if (is_dir($dir)) 
{
  if ($dh = opendir($dir))
  {
      while (($file = readdir($dh)) !== false)
      {       
    echo "<select><option value='$dir/file'>$file</option></select>";   
      } 
      closedir($dh);
       
  }
}
?>

På forhånd tak
Avatar billede barklund Nybegynder
03. januar 2006 - 10:00 #1
Det lugter lidt af, at du blot mangler et dollartegn:

echo "<select><option value='$dir/$file'>$file</option></select>";   

Hjælper det? :)

--
Morten Barklund
Avatar billede michael_stim Ekspert
03. januar 2006 - 10:02 #2
Og så måske smide <select> uden for while.
Avatar billede jan_mm Nybegynder
03. januar 2006 - 10:12 #3
Det virker med det dollartegn men jeg får en liste til hver fil. Jeg vil gerne have filerne listede i en list.

Koden ser således ud nu:

<?php
$dir = "../files";
if (is_dir($dir))

{
  if ($dh = opendir($dir))
 
  {
      while (($file = readdir($dh)) !== false)
      echo '<select>';
       
      {   
        echo "<option value='$dir/$file'>$file</option></select>";
       
       
      }
     
      closedir($dh);
     
     
  }
}
?>
Avatar billede michael_stim Ekspert
03. januar 2006 - 10:16 #4
<?php
$dir = "../files";
if (is_dir($dir))

{
  if ($dh = opendir($dir))
 
  {
echo '<select>';
      while (($file = readdir($dh)) !== false)
   
       
      {   
        echo "<option value='$dir/$file'>$file</option>";
       
       
      }
echo"</select>";

     
      closedir($dh);
     
     
  }
}
?>
Avatar billede jan_mm Nybegynder
03. januar 2006 - 10:26 #5
Det virker!

Men jeg får et enkelt punktum og to punktumer i listen. Er der noget man kan gøre ved det?

Ellers smid et svar så giver jeg point.
Avatar billede barklund Nybegynder
03. januar 2006 - 10:44 #6
Skip de to elementer med continue:

<?php
$dir = "../files";
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    echo '<select name="foobar">';
    while (($file = readdir($dh)) !== false) {
      if (in_array($file, array(".","..")) continue;
      echo "<option value='$dir/$file'>$file</option>";
    }
    echo"</select>";
    closedir($dh);
  }
}
?>

Agtigt :)

--
Morten Barklund
Avatar billede barklund Nybegynder
03. januar 2006 - 10:45 #7
(og et svar)
Avatar billede jan_mm Nybegynder
03. januar 2006 - 10:57 #8
Der kommer med følgende fejlmelding:

Parse error: parse error, unexpected T_CONTINUE
Avatar billede barklund Nybegynder
03. januar 2006 - 10:58 #9
Der mangler vist også en slutparentes:

      if (in_array($file, array(".",".."))) continue;

:)
Avatar billede jan_mm Nybegynder
03. januar 2006 - 10:59 #10
Kanon! Mange tak!
Avatar billede barklund Nybegynder
03. januar 2006 - 11:05 #11
Cool, tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 21:00 Libre Office Impress Af Frank i Andre styresystemer
I dag 11:47 VB script Af Jenshentze i Word
I dag 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel