Ordner wird nicht vollständig durchsucht?

gufi

Mitglied
Hallo!

Ich hab mir folgendes Skript zusammengeschrieben, nur leider liest dieses Skript immer eine Datei zu wenig aus und ich kommt nicht drauf warum.

PHP:
<?php

$counter=0;
echo "<table width='500' border='1'>";
if ($handle = opendir('galerie/')) {
    while (false !== ($file = readdir($handle))){
        if($counter==0){
			echo "<tr>";
		}
		echo $counter;
			$counter++;
			if($counter>0 && $counter<5){
				echo "$file <br />";
				
				 if ($file != "." && $file != "..") {
				echo "<td><a href='galerie/$file' target='_blank'><img src='galerie/$file' alt='' width='102' height='76' border='0'/></a></td>";
				
			}else{$counter--;}}
			if($counter>4){
				echo "</tr>";
				$counter=0;
			}
        
    }
    closedir($handle);
}
echo "</table>";
?>

Wenn ich die Datei die nicht angezeigt wird austausche, wird die neue angezeigt jedoch eine andere wiederum nicht!
 
Um wie viele Dateien handelt es sich?
Laut deinem Skript dürften es maximal 4 sein, wenn ich jetzt nicht zu schnell drüber geschaut habe. :)
 
Moin,

hier mal ne Hilfsfunktion, welche dir aus einem beliebigen Array eine Tabelle erzeugt:
PHP:
<?php

function tableFromArray($arr,
                        $cols,
                        $tblattr=' width="500" border="1" ',
                        $empty='&nbsp;')
{
  $tbl='<table'.$tblattr.'>';
  
  while($row=array_splice($arr,0,$cols))//$cols Elemente aus Array holen
  {
    $tbl.="\n<tr><td>".
            implode('</td><td>',
            array_pad($row,$cols,$empty)).//Array auf $cols Elemente erweitern
          '</td></tr>';
  }
  
  $tbl.='</table>';
  return $tbl;
}


$arr=array();

//Array per glob() füllen
foreach (glob("galerie/*.{png,jpg,jpeg,gif}",GLOB_BRACE) as $filename) 
{
    $arr[]='<a href="'.$filename.'" target="_blank">
              <img src="'.$filename.'" alt="" 
                   width="102" 
                   height="76" border="0" />
            </a>';
}

echo tableFromArray($arr,4);

?>
 
Zurück