Letztes Bildanzeigen lassen....Forum » Webzone » PHP & MySQL » Letztes Bildanzeigen lassen....
-
14.04.2013 um 00:50 Uhr
Irgendwie bin ich zu bloed oder ich krieg es einfach nicht hin. Ich habe folgendes Problem:
Ich moechte auf der Startseite das letzte, hochgeladene Bild anzeigen lassen. Den Code fr die Ordnerausgabe habe ich auch, dieser klappt auch wunderbar.
<?php $verzeichnis = "img/Arts"; // Verzeichnis // --------------------------------------------------------------------------------- $oeffnen = opendir($verzeichnis); // oeffnet das angegebene Verzeichnis $i = 1; // Variable definieren while($file = readdir($oeffnen)){ //Dateien aus Ordner auslesen // Thumbs u. andere Dateien ausschliessen if ($file != "." && $file != ".." && $file != "Thumbs.db" && preg_match("/\./",$file)){ $img[$i] = $file; // Die Dateien aus dem Ordner werden in ein array gepackt $i++; //eins hochzaehlen } } closedir($oeffnen); // Schliet den Ordner wieder $anzahl = 1; // Zaehlt alle Elemente des Arrays $file = $img[$anzahl]; // zufaelliges Bild ermitteln $image = $verzeichnis."/".$file; // Variable definieren => Pfad + Grafik ?> <img src='img/schau.png' style='background:url(<?php echo $image; ?>) top center;' />
Der Orignalcode stammt von der lieben Alice, diesen man hier finden kann.
Auch habe ich schon versucht aus der Bildverzeichnis ausgeben mit Blaetterfunktion einige Codes wie
rsort($array); // Sortiert das $array foreach($array as $file) { // Hier wird das $array auseindander genommen $dateienanzahl++; if($dateienanzahl<=$anzeige && $dateienanzahl>$anzeige){
natuerlich ebenfalls abgeaendert. Doch dies ging alles auf dem Scheiterhaufen.Somit immer wieder Fehler auftauchten.
Ich wuerde mich wirklich ueber einen kleinen Gedankensto freuen.
Falls nun Fragen aufkommen, wie "Wieso nutzt du dann nicht das Bildverzeichnis und setzt einfach die Anzahl auf 1? Blaetterfunktion kann man ja auch rausnehmen!" Auf solch ein Gedanke kam ich auch schon. Da bei mir der Code aber in der header.php befindet, wollen andere Unterseiten wo ich das Skript verwende, faksen machen. -
21.06.2013 um 21:58 Uhr
Hallo!
Auch wenn meine Antwort etwas spt kommt, verfasse ich sie trotzdem, vielleicht kann ich damit ja irgendjemandem behilflich sein.
Erweitere deinen Code einfach um ein paar Details:
<?php $verzeichnis = "img/Arts"; // Verzeichnis // --------------------------------------------------------------------------------- $oeffnen = opendir($verzeichnis); // oeffnet das angegebene Verzeichnis $i = 1; // Variable definieren /** ERWEITERUNG START **/ $lastModified = array('filename'=>null, 'filemtime'=>0); // Array mit Platzhalterwerten fr zuletzt modifizierte Datei festlegen /** ERWEITERUNG ENDE **/ while($file = readdir($oeffnen)){ //Dateien aus Ordner auslesen // Thumbs u. andere Dateien ausschliessen if ($file != "." && $file != ".." && $file != "Thumbs.db" && preg_match("/\./",$file)){ $img[$i] = $file; // Die Dateien aus dem Ordner werden in ein array gepackt /** ERWEITERUNG START **/ if(filemtime($file)>$lastModified['filemtime']) $lastModified = array('filename'=>$file, 'filemtime'=>filemtime($file)); // berprft ob die aktuelle Datei neuer als die letzte modifizierte Datei ist, wenn ja, wird das $lastModified Array mit den Werten der aktuellen Datei aktualisiert /** ERWEITERUNG ENDE **/ $i++; //eins hochzaehlen } } closedir($oeffnen); // Schliet den Ordner wieder $anzahl = 1; // Zaehlt alle Elemente des Arrays $file = $img[$anzahl]; // zufaelliges Bild ermitteln $image = $verzeichnis."/".$file; // Variable definieren => Pfad + Grafik /** ERWEITERUNG START **/ $lastModifiedImage = $verzeichnis."/".$lastModified['filename']; // Pfad zum letzten modifizierten Bild festlegen /** ERWEITERUNG ENDE **/ ?> <img src='img/schau.png' style='background:url(<?php echo $image; ?>) top center;' /> Zuletzt modifizierte Datei: <img src='img/schau.png' style='background:url(<?php echo $lastModifiedImage; ?>) top center;' />
Habs nur schnell geschrieben und nicht getestet, sollte aber funktionieren. Wenn nicht, bitte hier antworten.
Zustzlich sollte man bei obigem Beispiel noch einen Check auf den Dateityp machen, dass wirklich nur Bilder ausgegeben werden und sonst nichts (keine .html/.php/.js/... Dateien, sofern welche im Ordner sein sollten).
LG
Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 21.06.2013 um 22:29 Uhr ...
[ 1 ]
Seite 1 von 1