moin moin,
folgendes Problem - die erste Funktion liest das Verzeichnis aus:
PHP-Code:
function PicturePreview($dir){
if(!$dir){$dir = '.';}
foreach(glob("$dir/*") as $item){$sort[]= end(explode('/',$item));}
$killit = array('*.html', '*.php', '*.db', '*.css');
$killcounter = 0;
foreach($sort as $sorteditem){
foreach($killit as $killcheck){
if(strtolower($sorteditem) == strtolower($killcheck))
{unset($sort[$killcounter]);}
}$killcounter++;}
if($sort){natsort($sort);}
foreach($sort as $item){$return[]= $item;}
if(!$return){return array();}
return $return;
}
Das funktioniert wunderbar!
Das zweite Script stellt die (in diesem Fall Bild-Dateien) dar, die drin sind:
PHP-Code:
echo '<table width="581" border="0" cellspacing="0" cellpadding="0">',"\n";
$folder = "../images/content/screenshots/S60/" . $_COOKIE['ckFolder'] . "/";
$z=0;
foreach(PicturePreview($folder) as $item) {
if ($z%3==0) echo '<tr>';
if ($z%3!=3) echo '<td width="193" align="center"><img src="'.$folder.'/'.$item.'"><br /><span class="Black10px">'.$item.'</span></td>';
if ($z%3==2) echo '</tr><tr><td><img src="../images/blank_transparent.gif" width="1" height="10" /></td></tr>';
if ($z%3==3) echo '<br />',"\n";
$z++;
}
echo '</table>';
Das funktioniert auch wunderbar!
Nur wenn das Verzeichnis leer ist, dann gibt es die Fehlermeldung 'invalid argument supplied for foreach()'. Ich könnte das natürlich so umgehen, dass ich in diesem Verzeichnis ein unsichtbares 1px GIF plaziere und keiner würds merken - aber richtig sexy ist das nicht.
Deshalb würde ich diesen Fall (Verzeichnis leer) also lieber mit der IF Schleife umgehen, sprich IF Verzeichnis leer, vergiss foreach() - weiss aber nicht wo die hingehört und wie die genau aussehen könnte.
Vielleicht habt ihr ja eine Idee, besten Dank, mil