• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Aufgelisteten Ordner öffnen

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin Leute.
Ich habe eine Funktion, die mir aus einem bestimmten Ordner die Dateien auflistet.
Die ist so:
PHP:
$files = array();
 if ($handle = opendir($pfad))
 {
  while (false !== ($file = readdir($handle)))
  {
   if (!is_dir($pfad.$file))
   {
    $files[] = $file;
   }
  }
  closedir($handle);
 }
 sort($files);
Euch fallt sicher auf, dass nur Dateien aufgelistet werden.
Das ändere ich noch, dass die Ordner auch erscheinen.

Nun ist es aber so:
Ich möchte, dass wenn ich einen Ordner auswähle, dass der sich öffnet und alle Inhalte darin anzeigt.

Den momentanen Code für die Auflistung ist ein DropDown Menü, sieht so aus:
PHP:
 echo"<select name=\"file\">\n";
 foreach($files as $file)
 {
  echo "<option value=\"".$pfad.$file."\">".$file."</option>\n";
 }
 echo"</select>\n";
Und eben, wenn ich nun einen Ordner auswähle, soll alles aus dem Ordner ausgegeben werden, also die Liste soll ersetzt werden.

Ach ja, die Variable $pfad ist in einer Configdatei, in der man sie beliebig ändern kann über ein Tool das ich gemacht habe.


Da ich vollkommen keine Ahnung habe, wie ich sowas machen soll, wäre ich dankbar, wenn mir hier einige Helfen würden.
Gibts dazu ne bestimmte Funktion?


MfG, matibaski
 
einfach indem du dann die daten aus dem SELECT tag an dein script Postest und die daten dann empfängst und verarbeitest... o.O kann doch nciht so schwer sein oder? :P
 
Ich habe mal ein komplettes Index Script gebastelt (was du anscheinend vorhast), nur das läuft mit AJAX und rekursivem Ordnerdurchlauf.

Wie schon vom vorredner erwähnt solltest du das Verzeichnis übergeben was dann in etwa so aussieht:

PHP:
<?php
$path = "xxx"; //aus der Config
$addtopath = isset($_GET["dir"]) ? $_GET["dir"] : ".";
$directory = opendir($path."/".$addtopath);
while(($content = readdir($directory)) !== false) {
  switch(filetype($path."/".$addtopath."/".$content)) {
    case "dir":
      $dirs[] = $content;
    case "file":
      $files[] = $content;
  }
}
closedir($directory);
sort($dirs);
sort($files);

echo "<form action=\"".$_SERVER["php_self"]."\" method=\"post\">";
echo "<select name=\"dir\">";
foreach($dirs as $dir) {
  echo "<option value=\"".$addtopath."/".$dir."\">";
  echo $dir;
  echo "</option>";
}
echo "</select>";
echo "<input type=\"submit\" value\"auflisten\" />";
echo "</form>";
?>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben