//##############################################################################
// Einlesen der Bilder aus folgenden Verzeichnissen (Komma getrennte Strings)
$vverzeichnisse = array("../../Torsten_Hansen", "../../Juergen_Kaczerowski", "../../Peter_Foschum", "../../Rudolf_Betker", "../../Joachim_Honer"); // , "../../Test_Mitglied"
// Anzahl der neuesten Verzeichnisse
$anzahl = 10;
//##############################################################################
function Verzeichnisse_suchen ($verzeichnis, $tiefe, &$verzeichnisarray, &$verzeichnisarray_sonst){
// Verzeichnis Aufruftiefe auf 20 begrenzen!
$tiefe++;
if ($tiefe > 20):
return;
endif;
//print "
Die Aufruftiefe von $verzeichnis ist: $tiefe!
";
// Verzeichnisnamen und Pfad trennen
$pfadname = dirname ($verzeichnis);
$dateiname = basename ($verzeichnis);
// Sonderverzeichnisse auslassen
if ( ($dateiname == ".") OR ($dateiname == "..")):
return;
endif;
// Datum extrahieren um sortieren zu können
$pattern = "(20[0-9][0-9][0-1][0-9][0-3][0-9])";
preg_match_all ($pattern, $dateiname, $musterarray); // Datum extrahieren
$datum = $musterarray[0][0]; // Datum in Variable
if ($datum):
$verzeichnisarray[] .= "$datum|$dateiname|$verzeichnis"; //Alles in ein Array als Liste
else:
$verzeichnisarray_sonst[] .= "|$dateiname|$verzeichnis"; //Alles in ein Array als Liste
endif;
// Verzeichnis öffenen
$dirhandel = opendir ($verzeichnis);
// Alles einlesen
while ($datei =readdir ($dirhandel)):
// Verzeichnisse .. und . ignorieren
if ( ($datei == ".") OR ($datei == "..")):
continue;
endif;
$dateineu = $verzeichnis."/".$datei;
//print "Eingelesen: $dateineu
";
// Falls Verzeichnis, rekursiv aufrufen
if (is_dir ($dateineu) ):
// Verzeichnis gefunden
//print "Lese Verzeichnis $dateineu ein.
";
Verzeichnisse_suchen ($dateineu, $tiefe, $verzeichnisarray, $verzeichnisarray_sonst);
endif;
endwhile;
closedir ($dirhandel);
}
function Dateien_ausgeben ($verzeichnis, $ausgabedatum, &$ausgabestring){
$pfadname = dirname ($verzeichnis);
$dateiname = basename ($verzeichnis);
if ( ($dateiname == ".") OR ($dateiname == "..")): // Akt. und übergeordneter Ordner auslassen
return;
endif;
if ($ausgabedatum == ""): // Ohne Datum?
$d = "";
$prefix = "";
else :
$dJahr = substr ($ausgabedatum, 0,4); // Datum zerlegen und neu zusammensetzen
$dMonat = substr ($ausgabedatum, 4,2);
$dTag = substr ($ausgabedatum, 6,2);
$d = "$dTag.$dMonat.$dJahr";
$prefix = " - ";
endif;
$ausgabestringtemp = "
$d"; //$dateiname
$nix = "^([[:graph:] ]*)$ausgabedatum([[:graph:] ]*)$"; // " . $ausgabedatum . "
$count = ereg ($nix, $dateiname, $felder);
while ($x < sizeof ($felder) ):
if($felder[$x] > ""):
$ausgabestringtemp .= $prefix . $felder[$x];
endif;
$x++;
endwhile;
$ausgabestringtemp .= " |
"; //$dateiname
$ausgabestring .= str_replace ("_", " ", $ausgabestringtemp); // Im Namen _ durch Blank ersetzten
// Verzeichnis öffenen
$dirhandel = opendir ($verzeichnis);
// Alles einlesen
while ($datei =readdir ($dirhandel)):
// Verzeichnisse, .. und . ignorieren
if ( ($datei == ".") OR ($datei == "..")):
continue;
endif;
$dateineu = $verzeichnis."/".$datei;
if (is_dir ($dateineu) ):
continue;
endif;
if (is_file ($dateineu) ):
// Datei gefunden
//print "Datei $pfadname/$datei gefunden.
";
$dateigroesse = filesize ($dateineu);
$ausgabestring .= " | $datei | $dateigroesse B | $dateiname |
";
endif;
endwhile;
closedir ($dirhandel);
}
//#################################################################################################
// Alle anzeigen oder nur einen Fotografen?
// Es können aus Sicherheisgründen nur Fotografen ausgewählt werden, die in der Liste stehen!
// Die Namen müssen exakt gleich sein!
$neueste = false;
$alletext = " ";
if ($fotograf == "NEUESTE"){ // Nur die neuesten Verzeichnisse?
$neueste = true;
}
elseif ($fotograf == "ALLE"){ // Ist ein Fotograf angegeben?
$alletext = "
Alle Verzeichnisse
";
// Nichts zu tun!
}
elseif ($fotograf != ""){ // Ist ein Fotograf angegeben?
foreach ($vverzeichnisse as $vverzeichnis) { // Alle Fotografen prüfen
if (ereg ($fotograf, $vverzeichnis) ) : // Ist der Fotograf in der Liste?
$vverzeichnisse = array($vverzeichnis); // Nur einen Fotograf anzeigen.
endif;
}
}
$startzeit = date("H:i:s");
print "Sortierte - Version 0.401 - $startzeit
$fotograf
";
print "Aktuelle Bilder auf dem Server der Astronomischen Arbeitsgruppe Ulm e.V.
$alletext";
if ($neueste == true){ // Die neuesten Verzeichnisse
$datumarray = "";
$sonstarray = "";
$person = str_replace ("_", " ", basename ($vverzeichnis) ); // Im Namen _ durch Blank ersetzten
print "
Die $anzahl neuesten Verzeichnisse mit Bildern
";
foreach ($vverzeichnisse as $vverzeichnis) {
Verzeichnisse_suchen ($vverzeichnis, 0, $datumarray, $sonstarray); // Verzeichnisse einlesen
}
rsort ($datumarray); // Array sortieren
sort ($sonstarray); // Array sortieren
$ausgabestring =
"
Datum |
Bild oder Datei |
Größe |
Verzeichnis |
";
if (sizeof ($datumarray) < $anzahl) { // Weniger als 10 Verzeichnisse?
$anzahl = sizeof ($datumarray);
}
// Verzeichnisse mit Datum ausgeben
for ( $loop = 0; $loop < $anzahl; $loop++):
$ausgabezeile = $datumarray[$loop];
list ( $ausgabedatum, $ausgabename, $ausgabeverzeichnis ) = split ( "\|", $ausgabezeile);
//print "$ausgabezeile - ($ausgabedatum)($ausgabename)($ausgabeverzeichnis)
";
Dateien_ausgeben ($ausgabeverzeichnis, $ausgabedatum, $ausgabestring);
endfor;
$ausgabestring .=
"
";
$ausgabestring_html = htmlentities ($ausgabestring);
print "$ausgabestring";
}
else { // Ganz normal anzeigen
foreach ($vverzeichnisse as $vverzeichnis) {
$datumarray = "";
$sonstarray = "";
$person = str_replace ("_", " ", basename ($vverzeichnis) ); // Im Namen _ durch Blank ersetzten
print "
Bilder von $person
";
Verzeichnisse_suchen ($vverzeichnis, 0, $datumarray, $sonstarray); // Verzeichnisse einlesen
rsort ($datumarray); // Array sortieren
sort ($sonstarray); // Array sortieren
$ausgabestring =
"
Datum |
Bild oder Datei |
Größe |
Verzeichnis |
";
// Verzeichnisse mit Datum ausgeben
for ( $loop = 0; $loop < sizeof ($datumarray); $loop++):
$ausgabezeile = $datumarray[$loop];
list ( $ausgabedatum, $ausgabename, $ausgabeverzeichnis ) = split ( "\|", $ausgabezeile);
//print "$ausgabezeile - ($ausgabedatum)($ausgabename)($ausgabeverzeichnis)
";
Dateien_ausgeben ($ausgabeverzeichnis, $ausgabedatum, $ausgabestring);
endfor;
// Verzeichnisse ohne Datum ausgeben
for ( $loop = 0; $loop < sizeof ($sonstarray); $loop++):
$ausgabezeile = $sonstarray[$loop];
list ( $ausgabedatum, $ausgabename, $ausgabeverzeichnis ) = split ( "\|", $ausgabezeile);
//print "$ausgabezeile - ($ausgabedatum)($ausgabename)($ausgabeverzeichnis)
";
Dateien_ausgeben ($ausgabeverzeichnis, $ausgabedatum, $ausgabestring);
endfor;
$ausgabestring .=
"
";
$ausgabestring_html = htmlentities ($ausgabestring);
print "$ausgabestring";
}
}
?>