[PHP] Timeout umgehen

dr-chiller

Cadet 4th Year
Registriert
Okt. 2004
Beiträge
98
Hi,

ich habe mal wieder eine Frage, dieses Mal hab ich Probleme mit den 30 Sek max Timeout.
Ich habe mir ein Script geschrieben wo alle Bilder in einem bestimmten Ordner unbenannt werden, gleichzeitig aber auch Thumbs erstellt werden. Bei 30 Bildern ist das kein Problem aber bei 200 schon. Jedes mal kommt die Meldung das die max. Zeit ausgeschöpft wurde (30 sek.)

Hier das Script:

PHP:
<?php

 // Konfiguration

$Dir = "party/test"; // Der Ordnername, in dem Die Dateien liegen sollen
$Datname = "bild_id_"; // VorSilbe vor der neuen Datei, zb. Bild_12.jpg
$Thumb_width = 150;
$Thumb_height = 113;

 // Skript

$rep=opendir("$Dir");

$Count = 1;

While ($file = readdir($rep))
{
 if(is_file("$Dir/$file"))
  {
   $Newfile = $Dir."/".$Datname.$Count.".jpg";
   $NewThumb = $Dir."/".$Datname.$Count."_thumb.jpg";
   $Oldfile = $Dir."/".$file;
   rename("$Oldfile", "$Newfile");
   
   // Thumb generieren
   
   $info = getimagesize($Newfile);
   $image = imagecreatefromjpeg("$Newfile");
   $Thumb = imagecreatetruecolor($Thumb_width, $Thumb_height);
   imagecopyresized($Thumb, $image, 0,0, 0,0,$Thumb_width,$Thumb_height, $info[0],$info[1]); 
   imagejpeg($Thumb,"$NewThumb",100);
   
   // Counter erhoehen
   
   $Count++;
  }
 }
closedir($rep);
clearstatcache();

echo("Fertig!<br />$Count Dateien umbenannt");

?>

Wie kann ich dieses Problem umgehen. Ein Freund meinte man könnte das irgendwie mit Sessions machen. Aber davon hab ich überhaupt keine Ahnung.

Also wenn jemand weiter weiss, wäre ich ihm sehr dankbar.

Danke im vorraus
 
http://de.php.net/set_time_limit

Aber vorsicht - dein Script kann trotzdem nicht unbegrenzt laufen. Normalerweise laufen CronJobs die gezielt nach PHP Prozessen suchen die länger als der eingestellten Zeit laufen.
 
Danke erstmal, aber ich kann Timeout vom Server her nicht ändern. Also muss man das doch mit nem Script lösen. Oder nicht ?
 
Dann lass doch einfach weniger Bilder auf einer Seite anzeigen bzw. Teil das ganze auf mehrer Seiten á 10-20 Bilder auf.

Ansonsten kannst du ja mal schauen, die resizeden Vorschaubilder auf dem Server abzulegen. Die sollten nicht so groß sein und Speicherplatz ist halt günstiger wie Rechenkraft.
 
nein es geht hier um einen Ordner wo alle Bilder liegen. Es muss vom resultat genauso bleiben.
 
Na dann doch Idee zwei oder was?

Also da beim Erzeugen der Gallerie die Vorschaubilder einmal zu erzeugen und so die Umrechnungsarbeiten bei jedem Aufruf zu ersparen.
 
achso so meinst du das, nein das geht nicht. ich führe das script ja nur einmal aus. Das ist nur das Script was alles vorbereitet. DIe Thumbs werden nur einmal erstellt und auch auf dem Server abgelegt !
 
bilder aufteilen, erste gruppe abarbeiten, nen header senden der dem browser sagt er soll die gleiche seite nochmal aufrufen, naechste gruppe abarbeiten, wieder von vorn
 
ok das klingt ja schonmal gut, aber wie sieht das in Sciptform aus, denn coden kann ich sowas leider nicht !
 

Ähnliche Themen

Antworten
5
Aufrufe
1.792
E
Antworten
3
Aufrufe
1.167
E
Zurück
Oben