ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
371
371
EMPFEHLEN
-
Hallo!
Für einen Subdomaindienst möchte ich die index Seite der Mitglieder regelmäßig nach bestimmten Wörtern (Bad Words) durchsuchen lassen.
Über dieses Forum habe ich auf php.net diese Funktion gefunden:
Mein größeres Problem ist, das ich, sobald ein Mitglied überprüft wurde, das Ergebnis ausgeben möchte und dann das nächste Mitglied überprüft werden soll, so dass sich nach und nach eine Tabelle mit allen Mitgliedern und deren "Seitenstatus" in einer Liste ergibt.PHP-Code:function fetchURL( $url ) {
$url_parsed = parse_url($url);
$host = $url_parsed["host"];
$port = $url_parsed["port"];
if ($port==0)
$port = 80;
$path = $url_parsed["path"];
if ($url_parsed["query"] != "")
$path .= "?".$url_parsed["query"];
$out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
fwrite($fp, $out);
$body = false;
while (!feof($fp)) {
$s = fgets($fp, 1024);
if ( $body )
$in .= $s;
if ( $s == "\r\n" )
$body = true;
}
fclose($fp);
return $in;
}
Lasse ich alle Mitglieder in einem Skriptaufruf abarbeiten, kann ich mir vorstellen, dass nach ein paar Überprüfungen ein Timeout (Standard 30 s) erfolgt, da das "holen" der Seite ja schon einen Moment dauert und je nach Mitgliederzahl viele Seiten zu holen sind. Für das Skript ist das dann doch nur ein einziger Aufruf ...
Kann ich also das Skript sich selber neu aufrufen lassen und so den Timeout verhindern?
Es wäre ja schon ziemlich umständlich das über einen Cron Job zu machen, oder?
Vielleicht sollte ich besser nach jedem Skript- bzw. Funktionsaufruf set_time_limit() verwenden. Wenn PHP im Safemode läuft, hat set_time_limit() aber keinen Effekt und ich will den Safemode eigentlich bestehen lassen.
Im Forum habe ich auch die Möglichkeit gefunden mit set_ini() die max_execution_time zu beeinflußen.
Ist es möglich, diese nur für diese Funktion zu setzen und später wieder zurückzusetzen - die Direktive wirkt sich doch global aus, oder?
Gefunden habe ich auch die Funktion socket_set_timeout(), aber ich glaube die betrifft den nur den einzelnen Verbindungsaufbau zu einer Seite.
Wie kann ich also das Timelimit umgehen, bis alle Mitgliedsseiten abgearbeitet wurden?
Wie löst ihr das am sinnvollsten?
Vielen Dank für ein paar Anregungen!
Grüße
Martin
-
09.07.06 12:33 #2
PHP: set_time_limit - Manual
Das dürfte helfen
-
Hallo!
Zitat von Mirko D
Ja, Danke!
Aber ich werde auf set_time_limit() zugunsten des safe_mode verzichten und dann halt vorerst nur eine Einzelüberprüfung der Seiten ermöglichen ...
Vielen Dank für Deine Mühe!
Grüße
Martin
Ähnliche Themen
-
Welche Programmiersprache kann mit SVG-Dateien umgehen?
Von bl5000 im Forum Coders TalkAntworten: 31Letzter Beitrag: 31.12.10, 18:40 -
PHP Timelimit
Von Michael Engel im Forum PHPAntworten: 3Letzter Beitrag: 02.07.07, 13:08 -
Aktion nach Timelimit erneut startet
Von steyrblade im Forum PHPAntworten: 4Letzter Beitrag: 25.06.07, 13:24 -
bessere thumbnails
Von bensky im Forum PHPAntworten: 7Letzter Beitrag: 18.12.05, 16:50 -
Bessere Cam gesucht!
Von foxx21 im Forum Fotografie & DigitalfotografieAntworten: 15Letzter Beitrag: 08.06.03, 12:35





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen