tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
371
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Descartes Descartes ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    108
    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:

    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$errstr30);

       
    fwrite($fp$out);
       
    $body false;
       while (!
    feof($fp)) {
           
    $s fgets($fp1024);
           if ( 
    $body )
               
    $in .= $s;
           if ( 
    $s == "\r\n" )
               
    $body true;
       }
      
       
    fclose($fp);
      
       return 
    $in;

    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.

    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
     

  2. #2
    Avatar von Mirko D
    Mirko D Mirko D ist offline Mitglied Brokat
    Registriert seit
    May 2004
    Ort
    Wesseling / Köln
    Beiträge
    422
    PHP: set_time_limit - Manual

    Das dürfte helfen
     
    Der Sinn des Lebens liegt nicht darin über den Sinn des Lebens nachzudenken

    >>MG Forum

  3. #3
    Descartes Descartes ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    108
    Zitat Zitat von Mirko D
    PHP: set_time_limit - Manual

    Das dürfte helfen
    Hallo!

    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

  1. Antworten: 31
    Letzter Beitrag: 31.12.10, 18:40
  2. PHP Timelimit
    Von Michael Engel im Forum PHP
    Antworten: 3
    Letzter Beitrag: 02.07.07, 13:08
  3. Aktion nach Timelimit erneut startet
    Von steyrblade im Forum PHP
    Antworten: 4
    Letzter Beitrag: 25.06.07, 13:24
  4. bessere thumbnails
    Von bensky im Forum PHP
    Antworten: 7
    Letzter Beitrag: 18.12.05, 16:50
  5. Bessere Cam gesucht!
    Von foxx21 im Forum Fotografie & Digitalfotografie
    Antworten: 15
    Letzter Beitrag: 08.06.03, 12:35