Seite 1 von 1

timeout in einem array

Verfasst: 19.05.2007 03:08
von kolja
nabend forum

ich habe mir (mittels einer klasse) eine stapelverarbeitung gebaut
um aus bildern thumbnails zu erstellen

das klappt soweit ganz gut,
bis es zuviele bilder werden (25 bis 20 stk, je nach größe),
denn nach 30 sec gibt es vom server ein timeout

so sieht das ganze aus:

Code: Alles auswählen

  for($i=0;$i<count($verzeichnisinhalt);$i++)
  { 
  include_once("thumbnail.php");
  $thumbnail = new thumbnail();
  $thumbnail->create("../fotos/uploads/$dir/$verzeichnisinhalt[$i]");
  $thumbnail->setQuality(80);
  $thumbnail->cube(200);
  $thumbnail->save("../fotos/$dir/thumbs/$dir$i.jpg");
    chmod( "../fotos/$dir/thumbs/$dir$i.jpg", 0777 ); 
  echo "../fotos/$dir/thumbs/$dir$i.jpg OK<br>";
  $thumbnail = new thumbnail();
  $thumbnail->create("../fotos/uploads/$dir/$verzeichnisinhalt[$i]");
  $thumbnail->setQuality(80);
  $thumbnail->maxSize(654);
  $thumbnail->save("../fotos/$dir/$dir$i.jpg");
    chmod( "../fotos/$dir/$dir$i.jpg", 0777 ); 
  echo "../fotos/$dir/$dir$i.jpg OK<br>";
  }
es werden von den original bildern
zwei versionen erstellt
eine quadratische 200² und eine mit der maximalen breite von 654 pixeln

das ist für den server natürlich schon ein bischen was an arbeit ...
zuviel ??

oder kann man das array teilen und in mehreren durchläufen abarbeiten ??

n8

kolja

Verfasst: 19.05.2007 06:33
von CorniI

Verfasst: 19.05.2007 09:30
von kolja
guten morgen

es ist leider nicht mein server...

kolja

Verfasst: 19.05.2007 14:29
von Miriam
Probier' es doch mit einem Reload und als Parameter übergibst Du die Stelle, an der Du in der Dateiliste bist. Und die Dateiliste als solches natürlich auch.

So in der Art, wie das hier:

Code: Alles auswählen

<?php
function reload($start)
{
	echo $start++;
	echo "<meta http-equiv='refresh' content='1; URL=" . $PHP_SELF . "?start=" . $start . "'>";
}
reload($_GET['start']);
?>
Ich habe jetzt hier nur einen Zähler aber sowas in der Art, sollte es bringen.

Verfasst: 19.05.2007 14:55
von Olli Oberhausen
Du solltest innerhalb der schleife und vor dem erstellen des thumbs ertmal testen, ob es vielleicht nicht schon erstellt wurde.

Weil sonst kommst du ja nie bis zum ende, da das script immer wieder alle thumbs neu erstellt.

so ungefähr:

Code: Alles auswählen

  for($i=0;$i<count($verzeichnisinhalt);$i++)
  {
    if (file_exists("../fotos/$dir/thumbs/$dir$i.jpg")) continue;
    include_once("thumbnail.php");

......
Dann kannst du das script einfach ein paar mal hintereinander aufrufen...

Nicht schön, aber hilfreich.

LG, Olli

Verfasst: 19.05.2007 15:10
von killerbees19
kolja hat geschrieben:es ist leider nicht mein server...
Wenn du das Timelimit auf 0 setzt, muss es doch nicht sein Server sein...
Ich verstehe das jetzt nicht ganz :-?


MfG Christian

Verfasst: 19.05.2007 15:55
von mr.no-name
killerbees19 hat geschrieben:
kolja hat geschrieben:es ist leider nicht mein server...
Wenn du das Timelimit auf 0 setzt, muss es doch nicht sein Server sein...
Ich verstehe das jetzt nicht ganz :-?


MfG Christian
Aber dort ist safe_mode auf on ;-)

Bei solchen Dingen ist es zu empfehlen, das ganze in mehrere Stückchen aufzuteilen.
Wie schon weiter oben erwähnt könntest du nach z.B. 10 Bildern das Script beenden bzw. mit neuem Startwert erneut aufrufen.

Verfasst: 19.05.2007 20:20
von killerbees19
mr.no-name hat geschrieben:Aber dort ist safe_mode auf on ;-)
Okay, das erklärt alles :wink:

Zum Problem:
Wenn du eine Weiterleitung einbaust geht das sogar automatisch ;-)
Einfach eine META-Weiterleitung oder halt ein Link...


MfG Christian

Verfasst: 20.05.2007 00:56
von kolja
hui, hier ging ja einiges :D

ich werde mir alles in ruhe anschauen müssen,
denn ein wirklicher pfad hat sich mir noch nicht gezeigt...

kolja

p.s.
@my hoster
schön was von dir zu hören...

Verfasst: 20.05.2007 10:09
von Miriam
kolja hat geschrieben:..denn ein wirklicher pfad hat sich mir noch nicht gezeigt...
Du weisst: Der Weg ist das Ziel.