Ich habe auf einem Webspace eine sehr große Anzahl von Bilddateien einer Webcam. Diese werden mit untem stehendem archiv.php Script 24 Stunden zur Auswahl angeboten. (Script ist nicht schön, aber funktioniert). Es befinden sich immer rund 8.640 Bilder (10 Sekunden / 24 Stunden) auf dem Webspace.
Problem
Strato / 1&1 beschränken die CPU-Usage-Time eines PHP Scripts, wenn es ununterbrochen läuft. Das gleiche Script läuft bei 1&1 etwas länger als bei Strato, wird aber auch dort ohne Fehlermeldung einfach beendet.
Ich habe an verschiedenen Stellen des Scripts versucht nach einer gewissen Anzahl von Durchläufen der while Schleife einen Sleep = 1 einzubauen, leider ohne jeden Effekt. Auch der Versuch nur jedes 6. Bild zur Auswahl anzubieten - dazu habe ich den Echo Befehl in eine if Schleife mit Zähler gelegt, änderte nichts.
Wie / wo müßte man in diesem Script eine Pause einbauen, damit es nach z.B. 20 Sekunden CPU Usage Time mal eine Sekunde nichts macht, und letztlich damit durchläuft?
Problem
Strato / 1&1 beschränken die CPU-Usage-Time eines PHP Scripts, wenn es ununterbrochen läuft. Das gleiche Script läuft bei 1&1 etwas länger als bei Strato, wird aber auch dort ohne Fehlermeldung einfach beendet.
Ich habe an verschiedenen Stellen des Scripts versucht nach einer gewissen Anzahl von Durchläufen der while Schleife einen Sleep = 1 einzubauen, leider ohne jeden Effekt. Auch der Versuch nur jedes 6. Bild zur Auswahl anzubieten - dazu habe ich den Echo Befehl in eine if Schleife mit Zähler gelegt, änderte nichts.
Wie / wo müßte man in diesem Script eine Pause einbauen, damit es nach z.B. 20 Sekunden CPU Usage Time mal eine Sekunde nichts macht, und letztlich damit durchläuft?
PHP-Code:
<?php
$datein = array();
$handle=opendir('.');
echo "
<HTML><HEAD>
<meta http-equiv='refresh' content='900; URL=archiv.php'>
<meta http-equiv='Cache-Control' content='no-cache, must-revalidate, no-store'>
<meta http-equiv='Pragma' content='no-cache'>
<meta http-equiv='Last-Modified' content='Tue, 14 Oct 2003 09:02:20 GMT'>
<meta http-equiv='Expires' content='Tue, 14 Oct 2003 09:02:20 GMT'>
<TITLE>Webcam Archiv</TITLE>
</HEAD>
<style type=\"text/css\">
a:link { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white; }
a:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white; }
a:hover { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white; }
a:active { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white; }
a:focus {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white; }
</style><BODY BGCOLOR=\"#343B41\" style=\"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: white\">
";
while ($datei = readdir ($handle))
{
if ($datei != "." && $datei != ".." && $datei != "anzeige.php" &&
$datei != "archiv.php" && $datei != "webcam.jpg" && $datei != "php.ini")
{
$datein[$datei] = filemtime($datei);
}
}
closedir($handle);
natsort($datein);
$datein = array_reverse($datein);
foreach ($datein as $key => $value)
{
$str = $key;
$jahr= substr($str, 5, 4);
$monat= substr($str, 9, 2);
$tag= substr($str, 11, 2);
$stunde= substr($str, 13, 2);
$minute= substr($str, 15, 2);
$sekunde= substr($str, 17, 2);
$zeitpunkt = $tag . "." . $monat . " - " . $stunde . ":" . $minute . ":" . $sekunde;
// ---- Ab hier Notloesung, weil ich sonst nicht weiß wie ich an den index komme
$files = glob("*.jpg");
foreach ($files as $index => $file)
{
If ($file == $key)
{
$indexnummer = $index;
}
}
// ---- Bis hier Notloesung, weil ich sonst nicht weiß wie ich an den index komme
echo "
<a href = \"anzeige.php?index=$indexnummer\">$zeitpunkt</a>
";
}
echo "
</body></html>
";
?>

Kommentar