Verzeichniss auslesen nur bsp incluse

Ich hab Dir mal ein Beispiel gemacht, was das Ganze mittels einer Funktion und einem Rückgabewert erledigt. Funktionen sind meistens recht hilfreich wenn man selben Code an mehereren Stellen verwenden will.

Diese Funktion pullDown() erstellt Dir ein Pulldownmenu. Sie liest das Verzeichnis "Wi" aus und lädt alle Dateien mit Endung bsp, BsP,bSP, bSp in das Menu hinein.

Du kannst auch noch beliebige Dateitypen hinzufügen immer mit ',' (Komma) trennen aber ohne Leerzeichen oder sowas.

PHP:
echo pullDown("Wi", "bsp,BsP,bSP,bSp");


function pullDown($dir, $ext)
{
  if($handle = opendir($dir)) 
  {
    $ret = "<select>\r\n";
    while($file = readdir($handle)) 
    {
      $tmp = explode(',', $ext);
      foreach($tmp as $extension)
      {
        if(eregi("(\.".$extension.")$", $file))
        {
          $ret .= "<option>".substr($file, 0, -4)."</option>\r\n";
        }
      }
    }
    $ret .= "</select>\r\n";
    closedir($handle);
  }
  return $ret;
}

Hoffe das half.
Nauti
 
Hallo,

Ich danke dir nautiLus` aber die endung sollte man nur einmal eintragen ansonsten wird die datei 4x geladen.

MfG F0rris
 
Hallo,

Mit Session Login hab ich es geschaft das das verzeichnis nicht mehr ausgelesen wird.

PHP:
<?php
 session_start();
 
 ?>
 <?php
 
 if ($_SESSION['login_okay'])
 {
 ?>
 <HTML>
 <HEAD>
 <TITLE> Server Starten / Stopen </TITLE>
 </HEAD>
 <BODY>
 <form action="auswertung.php" method="post">
 <table width="400" border="1" cellspacing="1" cellpadding="1">
 <tr>
 <td width="29%">map</td>
 <td width="71%">
 <select name="map" size="1">
 <?php
 echo pullDown("/home/rot/srv/cstrike/maps/", "bsp");
 
 
 function pullDown($dir, $ext)
 {
   if($handle = opendir($dir))
   {
 	$ret = "<select>\r\n";
 	while($file = readdir($handle))
 	{
 	  $tmp = explode(',', $ext);
 	  foreach($tmp as $extension)
 	  {
 		if(eregi("(\.".$extension.")$", $file))
 		{
 		  $ret .= "<option>".substr($file, 0, -4)."</option>\r\n";
 		}
 	  }
 	}
 	$ret .= "</select>\r\n";
 	closedir($handle);
   }
   return $ret;
 }
 ?>
 </select>
 </td>
 </tr>
 <tr>
 <td width="100%" colspan="2">
 <input type="submit" name="Abschicken" value="Senden"></td>
 </tr>
 </table>
 </form>
 <br>
 <form action="mstop.php" method="post">
 <table width="400" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
 <tr>
 <td width="100%">
 <input type="submit" name="stop" value="Stop"></td>
 </tr>
 </table>
 </form>
 </body>
 </html>
 <?php
 } else {
 	?>
 Zugriff Verweigert! Bitte Loggen Sie sich ein!
 <?php
 }
 ?>

Ohne den Session login geht es einwand frei nur mit kommt es zu fehlern.


MfG F0rris
 
Zurück