Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bilder aus Ordner anzeigen per PHP
#1
Meine Lösung, alle Bilder eines Ordners anzuzeigen, konkret kommen die Bilder hier von meiner Webcam (Überwachungskamera von zu Hause), die ich auch gerne über eine URL ansehen will ... Noch dazu sind sie zeitlich, also chronologisch nach Datum geordnet.

Anzupassen sind
1) Ordnername ($ordner)
2) Anzahl der Zeichen, Dateilänge der erzeugten Dateien, wenn diese unterschiedlich sind, hab ich noch keine Lösung ... Bin aber für Hinweise dankbar!


<html>
<head>
<title>Bildanzeige</title>
<style>
a { color:#000000; text-decoration:none;font-weight:bold;}
a:hover { color:#5A8047; text-decoration:none;font-weight:bold;}
</style>

</head>
<body style="background-color:#CCCCCC">
<?PHP

date_default_timezone_set('Europe/Berlin');
$dirs = array();
$files = array();

$insgesamt = "0";
$ordner = "genauer_unterordner";
$handle = opendir ($ordner);

while ($file = readdir ($handle)) {
if($file != "." && $file != ".." & $file != ".DS_Store") {
$compl = $ordner."/".$file;
if(is_dir($compl)) {
$dirs [filemtime ($compl)] = "/".$file;
} else {
// kompletter Pfad
$files [filemtime ($compl)] = "<a href=\"".$compl."\">".$file."</a>";
//echo "<img src=\"cam/".$file."\" border=\"0\"><br><br>";
}
}
}

krsort ($dirs);
foreach ($dirs as $key => $dir)
echo $dir . ' ' . date ("F d Y H:iConfused.", $key) . "<br/>";

krsort ($files);
foreach ($files as $key => $file){
echo $file . ' ' . date ("F d Y H:iConfused.", $key) . "<br/>";

$file = trim($file, "<a href=");
$file = trim($file, "\/");
$file = trim($file, "\"");
$file = substr($file, 0, 23);
//print_r($file);
echo "<a href='".$file."'><img class='meinebilder' src=\"".$file."\" border=\"0\" ></a><br><br>";
$insgesamt = $insgesamt+1;
}
closedir($handle);
echo $insgesamt." Bilder gesamt.";

?>
</body></html>



Liebe Grüße Jürgen
Zitieren
#2
... und hier noch meine Lösung, den entsprechenden Ordner klein zu halten, anpassen kann man das Alter der Bilder, hier in Sekunden, und der Ordnername ...

Wenn man diese Datei per Cronjob ausführen lässt, löscht man jeden Tag die Bilder, die älter als 2 Tage sind.

<?php
define('DIRPATH','ordner');
$timestamp = time();

$handle=opendir (DIRPATH);

while ($datei = readdir ($handle)) {
if ($datei == '.' || $datei == '..') {}
else
{
$datum = filemtime(DIRPATH.'/'.$datei);
if ($timestamp - $datum > 172800) // 2 Tage = 172800 Sekunden
{
@unlink(DIRPATH.'/'.$datei);
echo "Datei: ".DIRPATH.'/'.$datei."<br />";
}
else{
echo "Nix gefunden ...<br />";
}
}
}

closedir($handle);
?>

Liebe Grüße Jürgen
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste