Bilder ausgeben!

Dönerman

Gesperrt
ich will die Bilder ausgeben, die im Ordner Upload sind!

Aber ich muss das PHP script in den Ordner speicher sonst gibt er mir nix aus!

PHP:
  <?php
  $stPath = './';
  $hDir = opendir($stPath);
  
  
  $spalte=0;
  echo "<table cellspacing=\"3\" cellpadding=\"3\">";
  echo "<tr>";
  
  while($stFile = readdir($hDir))
    {
    if($stFile != '.' && $stFile != '..')
  	{
  echo "<td width=\"50\" height=\"50\" valign=\"middle\" align=\"center\" style=\"BORDER:1px solid #CCCCCC;\">";
  echo "<img src=\"".$stPath.$stFile."\" width='100' height='72' border='0'>";
  echo "</td>";
  	$spalte++;
  
  	if($spalte >= 8)
  	  {
  	  echo "</tr><tr>";
  	  $spalte = 0;
  	  }
  	}
    }
    echo "</tr></table>";
  closedir($hDir);
  ?>

Aber ich will das PHPscript nicht im Ordner haben, weil er sonst alles als Bilder ausgibt, und auch das PHPscript! also $stPath = 'upload/' aber das geht nicht dann bekomme ich eine Fehermeldung!

bitte um Rat!

Mfg Dönerman
 
Überprüf doch vor der Ausgabe, ob es sich um ein Bild handelt. Das kann man z.B. mit Hilfe von getimagesize() machen:
PHP:
while($stFile = readdir($hDir))
{
    if($stFile != '.' && $stFile != '..')
      {
        $imagedata = getimagesize($Datei);
        if($imagedata[2]==1 || $imagedata[2]==2 || $imagedata[2]==3) //1 = GIF, 2 = JPG, 3 = PNG
        {
          // Ausgabe
        }
}
 
Ich habe jetzt:
PHP:
  <?php
  	
  $Datei = Array(jpg,jpeg,gif,png);
  
  $stPath = 'upload/';
  $hDir = opendir($stPath);
  
  
  $spalte=0;
  echo "<table cellspacing=\"3\" cellpadding=\"3\">";
  echo "<tr>";
  
  while($stFile = readdir($hDir))
    {
    if($stFile != '.' && $stFile != '..')
  	   {
53:    $imagedata = getimagesize($Datei);
 		if($imagedata[2]==1 || $imagedata[2]==2 || $imagedata[2]==3 || $imagedata[2]==4) {
  	
  	
  echo "<td width=\"50\" height=\"50\" valign=\"middle\" align=\"center\" style=\"BORDER:1px solid #CCCCCC;\">";
 echo "<a href='".$stPath.$stFile."'><img src=\"".$stPath.$stFile."\" width='100' height='72' border='0'></a>";
  echo "</td>";
  	$spalte++;
  
  	if($spalte >= 6)
  	  {
  	  echo "</tr><tr>";
  	  $spalte = 0;
  	  }	
  	  }
  	}
    }
    echo "</tr></table>";
  closedir($hDir);
  ?>

und er gibt mir das aus:

Warning: getimagesize(Array) []: failed to open stream: No such file or directory in C:\apachefriends\xampp\htdocs\test\php\echt\admin1\index_admin1.php on line 53

kann mir bitte jemand helfen!!

MFG DÖNERMAN
 
Zurück