Problem mit erweitern eines Tuts von hier.

  • Themenstarter Themenstarter Lukasz
  • Beginndatum Beginndatum
L

Lukasz

Hallo ich wollte das gute tut von hir etwas ausbauen.
Eigentlich soll nur der Dateityp als eine Grafik ausgegeben werden.
Ich habe heute Nacht im Internet einiges darüber gefunden, nur mit der Anwendung in dieser Form mag es nicht gehen.
Vermutlich liegt es daran das der Wert $datei immer neugeschrieben wird!
Hier erst mal der script:
PHP:
<?php 
//legt das Verzeichniss fest aus dem das Menü erstellt wird. 
$verz=opendir('downloads/uploader/zugang'); 
//die Dateien die bei der Anzeige herausgefiltert werden sollen 
//in diesem Falle die DOS Verzeichnisse . und .. 
$pattern=".|.."; 

//Schleifen-Anfang : lese Dateien aus Verzeichniss 
while($datei=readdir($verz)) 
{ 
  //Wenn der Dateiname nicht dem Filter($pattern) entspricht 
  if(!ereg($datei,$pattern)) 
  { 
   //Zerlege den Dateinamen in ein Array mit dem Teiler "." 
   $name=explode(".",$datei); 
   //Ausgabe des Links 
   
   if($datei_type!== "zip") { $a= ("zip.png"); }
   if($datei_type!== "dir") { $a= ("fold.gif"); }
   if($datei_type!== "mp3") { $a= ("mp3.jpg"); }
   

   echo("<a href=downloads/uploader/zugang/$datei><img src=bilder/$a border=0> $name[0] |</a>\n"); 
  } 
} 
//Beende die Methode dir 
closedir($verz); 
?>

Also wie man sieht habe ich einfach mittels IF Funktion den Dateityp abgefragt. Und dan je nach Ergebniß der Variabe $a ein Bildnamen zugeteilt.
Diesen lade ich im echo als Bild Link. Soweit geht alles. Kommt aber ein 2ter Dateityp
so lädt er immer das lezte Bild. Warum? Wie kann ich das lösen?

Gruss Lukasz!
 
Zuletzt bearbeitet von einem Moderator:
Mach deine Ifs mal als switch (ist leichter zum Lesen und besser zu verwalten).
Außerdem ist die Variable $datei_type garnicht gesetzt.

PHP:
switch($name[count($name)-1]) {
 case "zip":
 case "rar":
  $a = "compressed.gif";
  break;
 case "mp3":
 case "ogg":
 case "wav":
 case "mid":
  $a = "audio.gif";
  break;
 default:
  $a = "unknown.gif";
  break;
}
if(is_dir($datei)) {
 $a = "folder.gif";
}

Dieser Code muss zwischen "//Ausgabe des Links" und dem echo rein.
 
Zurück