Ich verwende dies, um das neueste Bild aus 2 Verzeichnissen anzuzeigen, wo Bilder von Kameras alle 10s hochladen Der Code funktioniert, aber wie ich weiß, könnte ich potenziell 10s von Tausenden von Bildern in jedem Verzeichnis I glaube, der Code ist nicht für die Situation optimiert. Auch ich lade die ganze Seite alle 10s, wo es vielleicht effizienter wäre, nur die Bilder zu aktualisieren. Könnte jemand mir helfen, Anweisungen zu geben, um dies zu optimieren? Vielen Dank.Das neueste Bild aus dem Verzeichnis anzeigen
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "10";
$base_url_east = 'East/snap/';
$base_url_south = 'South/snap/';
$newest_mtime_east = 0;
$show_file_east = 'BROKEN';
if ($handle = opendir($base_url_east)) {
while (false !== ($file = readdir($handle))) {
if (($file != '.') && ($file != '..') && ($file != '.htaccess')) {
$mtime = filemtime("$base_url_east/$file");
if ($mtime > $newest_mtime_east) {
$newest_mtime_east = $mtime;
$show_file_east = "$base_url_east/$file";
}
}
}
}
$newest_mtime_south = 0;
$show_file_south = 'BROKEN';
if ($handle = opendir($base_url_south)) {
while (false !== ($file = readdir($handle))) {
if (($file != '.') && ($file != '..') && ($file != '.htaccess')) {
$mtime = filemtime("$base_url_south/$file");
if ($mtime > $newest_mtime_south) {
$newest_mtime_south = $mtime;
$show_file_south = "$base_url_south/$file";
}
}
}
}
?>
<html>
<head>
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
</head>
<body bgcolor="#000000">
<center>
<?php
print '<img src="' .$show_file_east. '" alt="Latest image uploaded" width="720" height="480">';
print '<img src="' .$show_file_south. '" alt="Latest image uploaded" width="720" height="480">';
?>
</center>
</body>
</html>
Wie die Verzeichnisse mit Dateien bevölkert werden? Ein Skript, das das macht? Oder einfach nur manuell? –
Löschen Sie ' chris85
Wenn Sie ein neues Bild hochladen, speichern Sie einfach den Dateinamen in einer Datenbank, um den Dateinamen abzurufen, anstatt alle Dateien durchzugehen und die neueste Datei zu erhalten. –