Bilder aus Ordnern nach Namen anzeigen

Evtl. ein Fehler bei ereg_replace('_mini.jpg','.jpg ... Wenn bei einigen Bildern
eine andere Endung steht, zb ..jpg dann bekommst du Probleme. Schau dir
mal an welchen Pfad die leeren Bilder haben und poste den hier.
 
Also das ereg_replace('_mini.jpg','.jpg ... wird in dem Script nicht mehr verwendet.
Habe ein anderes angepasst.

Bei den nicht angezeigten Bildern, sollte aber ein Bild angezeigt werden.

Die Auflistung lässt immer ein Bild mit der Anzeige aus nach der Spaltenanzahl.
Also Bild 5, Bild 10, Bild 15 .... werden nicht angezeigt.
 
Also der Pfad ist eigentlich richtig, da er für alle angezeigten bilder gilt.

Hatte eine if anweisung vergessen, deshalb zeigte er wohl die jenigen Bilder nicht an.

Aber damit ist das Problem net gelöst. Die Bilder die vorhin leer wahren, sind jetzt nicht mehr zu sehen. Obwohl sie sichtbar sein müssten. Ebenso wieder die Bilder 5, 10, 15 ...

Kann da die Spaltenanzahl 4 etwas damit zutun haben?

So recht Vorstellen kann ich mir das net. Ich bin da ziemlich ratlos. Durch probieren, komme ich auch nicht zum gewünschten Erfolg. :confused:
 
In folgendem Part solltest Du $spalten nicht =0 sondern =1 setzen, da, wie auf Deinem Shot zu sehen ansonsten nur in der ersten Zeile 4 Bilder sind und ansonste 5. Siehe mein Posting wo ich diesen Code drin hatte.

Also nicht:
PHP:
   if ($spalten == 4)
	 {
	 echo "</tr><tr><td height=\"10\"></td></tr><tr>";
	 $spalten=0;
	 ShowFileList($a[$i], $N+1, $zeige, $zeigea);
	 }
sondern:
PHP:
   if ($spalten == 4)
	 {
	 echo "</tr><tr><td height=\"10\"></td></tr><tr>";
	 $spalten=1;
	 ShowFileList($a[$i], $N+1, $zeige, $zeigea);
	 }

Aber ich glaube nicht, dass das mit dem Problem zu tun hat, dass die Bilder nicht angezeigt werden.
 
Ja, das habe ich auch schon versucht, aber die Bilder werden trotzdem net angezeigt.


Irgendwie muss es an der Spaltenanzahl (4) liegen, da das darauffolgende Bild 5, 10 .... net angezeigt wird.

Ich kann mir aber keinen Reim darauf machen, wieso das so ist. Evtl liegt es an $spalten++, weil die Anweisung noch in der else-Defi drin ist. Aber wenn ich die Anweisung nach der Klammer platziere, dann werden die Bilder alle in eine Reihe angezeigt.

Vielleicht sollte ich das mal sein lassen, da eine Woche an dem Script tüfteln wohl in keinem Verhältnis zu dem womöglich "einfachen" Fehler steht.

Der aktuelle Quelltext ist derzeit:

Code:
<tr><td height="10"></td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="0" width="530">
<tr>
<?php
$spalten="0";
function GetFileList($path, &$a)
  {
   $d=array(); $f=array();
   $nd=0;  $nf=0;
   $hndl=opendir($path);
   while($file=readdir($hndl))
   {
	 if ($file=='.' || $file=='..') continue;
	 if (is_dir($path.'\\'.$file))
	   $d[$nd++]=$file;
	 else
	   $f[$nf++]=$file;
   }
   closedir($hndl);
   sort($d);
   sort($f);
   $n=1;
   for ($i=0;$i<count($d);$i++)
   {
	 GetFileList($path.'\\'.$d[$i].'\\', $a[$n]);
	 $a[$n++][0]=$d[$i];
   }
   for ($i=0;$i<count($f);$i++)
   {
	 $a[$n++]=$f[$i];
   }
  }
  function ShowFileList(&$a, $N, $zeige, $zeigea)
  {
   for ($i=1;$i<=count($a); $i++)
   if (is_array($a[$i+1]))
	 {
	   echo "<H".$N.">".$a[$i][0]."</H".$N.">\n";
	   ShowFileList($a[$i], $N+1, $zeige, $zeigea);
	 }
   elseif ($spalten==4)
	 {
	 echo "</tr><tr><td height=\"10\"></td></tr><tr>";
	 $spalten=0;
	 }
   else
	 {
	 echo "<td width=\"25%\" align=\"center\" bgColor=\"#4F78B1\" height=\"152\"><a href=\"?page=create&bild=$zeigea/pic$i.jpg\"><img src=\"$zeige/$a[$i]\" alt=\"\" border=\"0\"></a></td>";
	 $spalten++;
	 }
  }
  GetFileList("bilder/$abfrage[2]_mini",$array);
  $zeige = "bilder/$abfrage[2]_mini";
  $zeigea = "bilder/$abfrage[2]";
  ShowFileList($array, 0, $zeige, $zeigea);
?>
</tr>
</table>
</td></tr>
 
Du hast einen kleinen Detailfehler im Script, Du musst auch das naechste Bild anzeigen nachdem Du den Counter zurueckgesetzt hast.

PHP:
   for ($i=1;$i<=count($a); $i++)
   if (is_array($a[$i+1]))
	 {
	   echo "<H".$N.">".$a[$i][0]."</H".$N.">\n";
	   ShowFileList($a[$i], $N+1, $zeige, $zeigea);
	 }
   elseif ($spalten==4)
	 {
	 echo "</tr><tr><td height=\"10\"></td></tr><tr>";
	 echo "<td width=\"25%\" align=\"center\" bgColor=\"#4F78B1\" height=\"152\"><a href=\"?page=create&bild=$zeigea/pic$i.jpg\"><img src=\"$zeige/$a[$i]\" alt=\"\" border=\"0\"></a></td>";
	 $spalten=0;
	 }
   else
	 {
	 echo "<td width=\"25%\" align=\"center\" bgColor=\"#4F78B1\" height=\"152\"><a href=\"?page=create&bild=$zeigea/pic$i.jpg\"><img src=\"$zeige/$a[$i]\" alt=\"\" border=\"0\"></a></td>";
	 $spalten++;
	 }
In etwa so.

Bei mir sieht das ja ein wenig anders aus:
PHP:
$counter=0;
while ($image=mysql_fetch_row($images))
	{
		if ($counter==5)
			{
				?>
				</tr>
				<tr>
				<?
				$counter=1;
			}
		else
			{
				$counter++;
			}
		?>
		<td><a href="<? printf('index.php?subsite=showimage.php&image=%s',$image[0]); ?>"><img src="<? printf('thumbs/%s',$image[1]); ?>" alt="<? printf($image[1]); ?>"></a></td>
		<?
	}
 

Neue Beiträge

Zurück