$v) { if (eregi($k,$file)) { $files[] = $file; break; } } } } else { $dirs[] = $file; } } closedir($handle); //finde aus allen gefundenden dateien all diejenigen heraus, diewebbilder sind ... foreach ($files as $actfile) { foreach ($filetypes as $k => $v) { if (eregi($k,$actfile) && $v["webimage"] == true) { $pics[] = $actfile; break; } } } //arrays korrekt sortieren nach dateiname .... sort ($files); reset ($files); sort ($pics); reset ($pics); sort ($dirs); reset ($dirs); echo pageHeader(); echo showLocation(); echo fileTree($dirs,$files); //diese zeile mittels "//" deaktivieren, um die verzeichnis- und dateiliste nicht anzeigen zu lassen echo showImages($pics); echo pageFooter(); function pageHeader() { $out = ' dynamic Picture Browser '; return $out; } function pageFooter() { $out = '
© 2003 Stefan Seifarth, www.polycoder.de
'; //return $out; } //aktuelles verzeichnis zeigen function showLocation() { global $basedir; $out = '
'; $out.= '

Verzeichnis: ' . $basedir . '

'; $out.= '
'; //return $out; } //bildzeigefunktion function showImages($files) { global $mode, $filename; $out = ""; switch ($mode) { case 1: $out.= (strlen($filename) > 0) ? getFullImage($filename, $files) : getFullImage($files[0], $files); break; default: $out.= '
' . "\n"; $out.= getFullImageList($files); $out.= '
'; break; } return $out; } //vollbild anzeige - viele files ... function getFullImageList($files) { global $basedir, $pp, $start, $mode, $thumbwidth, $thumbheight, $picwidth; $out=""; $imgbasedir = ($basedir=="./") ? "" : $basedir . "/"; //navigation .... $piccount = count($files); $pagecount = ceil($piccount / $pp); if ($piccount > $pp) { $out.= '' . "\n"; } for ($i = $start; $i < $start + $pp; $i++) { if (strlen($files[$i]) > 0) { //bilddaten holen $param = getimagesize($basedir . "/" . $files[$i]); $filesize = filesize($basedir . "/" . $files[$i]); //berechnet neue breite ... $w = $param[0]; $h = $param[1]; if ($picwidth < $w) { $factor = $picwidth / $w; $w = $picwidth; $h = $h * $factor; } $filesize = ceil($filesize / 1000); $out.= '
'; if (eregi(".swf",$files[$i])) { $out.= ''; $out.= ''; $out.= 'Flash-Datei in Originalgröße betrachten'; } else { $out.= 'zum Vergrößern bitte klicken'; } $out.= ''; $out.= '
' . $files[$i] . ' (' . $param[0] . 'x' . $param[1] . ') ' . $filesize . 'KB
' . "\n"; } } //navigation .... $piccount = count($files); $pagecount = ceil($piccount / $pp); if ($piccount > $pp) { $out.= '' . "\n"; } return $out; } //einzel vollbild function getFullImage($filename, $files) { global $basedir, $start, $pp, $picwidth; $othershit = "&pp=" . $pp; $othershit.= "&start=" . $start; $out = ""; $imgbasedir = ($basedir == "./") ? "" : $basedir . "/"; $param = array(); $filesize = 0; $out.= '
'; if (file_exists($basedir . "/" . $filename)) { //hole bildgrösse $param = getImageSize($basedir . "/" . $filename); $filesize = filesize($basedir . "/" . $filename); //gib das flash aus if (eregi(".swf",$filename)) { $out.= '
'; $out.= ''; $out.= ''; $out.= 'zurück zur Übersicht'; } } else { $out .= '
Datei "' . $filename . '" exisitiert nicht!
'."\n"; } $filesize = ceil($filesize / 1000); $out.='
' . $filename . ' (' . $param[0] . 'x' . $param[1] . ') ' . $filesize . 'KB
' . "\n"; $out.='' . "\n"; // vor- / zuücknavigation unten $prevpic = 0; $nextpic = 0; for ($i = 0; $i < count($files); $i++) { if ($filename == $files[$i]) { $prevpic = $i - 1; $nextpic = $i + 1; break; } } $prevpic = ($prevpic < 0) ? count($files) - 1 : $prevpic; $nextpic = ($nextpic >= count($files)) ? 0 : $nextpic; $out.= '
' . "\n"; $out.= '' . "\n"; $out.="
\n"; return $out; } //erzeuge uebersicht des dateibaumes function fileTree($dirs, $files) { global $filetypes, $mode, $start, $pp, $basedir, $filename; //vorhergehendes verzeichnis ermitteln $prevbasedir = "."; if (strlen($basedir)>0) { $ta = split("\/", $basedir); if (count($ta) > 1) { array_pop($ta); $prevbasedir = join("/", $ta); } } $othershit = ($pp != 10) ? "&pp=" . $pp : ""; $othershit.= ($start != 0) ? "&start=" . $start : ""; $t = 1; $out = ""; if (count($dirs) > 0 || count($files) > 0) { //container erzeugen $out = '
' . "\n"; //tabelle erzeugen $out.= '' . "\n"; $out.= '' . "\n"; //erzeuge verzeichnissliste for ($i=0; $i < count($dirs); $i++) { $newbasedir = (strlen($basedir) > 0 && $basedir != "./") ? (($dirs[$i] == ".." || $dirs[$i] == ".") ? (($dirs[$i] == "..") ? $prevbasedir : "." ) : $basedir . "/" . $dirs[$i]) : "./" . $dirs[$i]; $out.= '' . "\n"; $t = ($t == 1) ? 2 : 1; } //erzeuge dateiliste for ($i = 0; $i < count($files); $i++) { //dateiart bestimmen $actFileType = "unbestimmte Datei"; foreach ($filetypes as $k => $v) { if (eregi($k, $files[$i])) { $actFileType = $v["description"]; //ausgabe if ($v["webimage"] == true) { $out.= '' . "\n"; } else { $out.= '' . "\n"; } $t = ($t == 1) ? 2 : 1; break; } } } $out.= '
DateinameBeschreibung
' . $dirs[$i] . 'Verzeichnis
' . $files[$i] . '' . $actFileType . '
' . $files[$i] . '' . $actFileType . '
' . "\n"; $out.= '
' . "\n"; } //return $out; } ?>