Seite 1 von 2 12 Letzte
  1. #1

    Registriert seit
    28.11.2011
    Beiträge
    174
    Thanked 84 Times in 51 Posts

    Standard Warum endet dies in einem Fail? :X

    Hey! Nochmal ne schnelle Frage..

    Folgender Code:
    PHP-Code:
    <?php
    $Nick 
    "thedance-freaker";
    $zahl "140";
    $status "False";
    // $Servernr = "134"; <<<<<->>>>> hier müsste die schleife stoppen, weil dies die richtige Servernr ist..
    $temp "http://scripts.knuddels.de/ww/knuddels.de/$Servernr/$Nick.html";
    $page = @file_get_contents($temp,'r');
     
    while(
    $status == "False")
        {
            for(
    $Servernr 0$Servernr <= $zahl$Servernr++)
            {
            
                if(
    trim($page) == "")
                {
                
    $status "False";            
                }
                else
                {
                
    $status "Right";
                
    $temp "http://scripts.knuddels.de/ww/knuddels.de/$Servernr/$Nick.html";
                
    $page = @file_get_contents($temp,'r');
                
    $status "Right";
                echo 
    $page;    
                }
            }
        }
    ?>
    Führe ich dies nun aus, passiert nichts. nach 60 Sekunden kommt dann ein TimeOut:
    PHP-Code:
    Fatal error:  Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\KnuddelsTest\KnuddelsTest.php on line 11 
    Line 11 ist bei mir
    PHP-Code:
    for($Servernr 0$Servernr <= $zahl$Servernr++) 
    Und ich bin nun am verzweifeln =/
    WARUM ENDET DIESER MIST IN EINEM TIMEOUT? X)
    Mache schauen Dir in die Augen.. Und manche drehen sich um.
    Rund um die Shishal!

  2. #2

    Registriert seit
    07.02.2012
    Beiträge
    48
    Thanked 2 Times in 2 Posts

    Standard Warum endet dies in einem Fail? :X

    Was das werden soll versteh ich nicht ganz o.o

    PHP-Code:
    <?php
    $Nick 
    "thedance-freaker";
    $zahl "140";
     
            for(
    $Servernr 0$Servernr <= $zahl$Servernr++)
            {
                
    $page = @file_get_contents("http://scripts.knuddels.de/ww/knuddels.de/$Servernr/$Nick.html");
               if(
    trim($page) != ""){
                    echo 
    $page;    
                     break;   
    //<-WICHTIG    (oder direkt exit;
                
    }
            }
    ?>
    öhm...
    1.: guck dir mal die do-while an.
    2.: ich denke die while-schleife ist dort nicht nur pberflüsig sondern auch störend
    3.: schreib nicht "Right" oder "False" in einen String sondern nutze direkt die Boolsche werte (true, false) die du OHNE Klammern schreibst.

  3. #3
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.145
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard Warum endet dies in einem Fail? :X

    Dein Code ist, genau wie deine Logik dahinter, extrem unsauber und chaotisch.
    Vorallem die Logik ist entgegen dem was sie sein sollte alles andere als Logisch.
    Fängt damit an dass du strings als booleans misshandelst, bis hin zu Variabeln die du verwendest bevor du sie überhaupt deklariert hast. Daher kommt auch der Timeout, weil du ne endlosschleife hast aus der du nie rauskommst.

    Geht übrigens auch viel einfacher, man muss nur nen Request an http://scripts.knuddels.de/ww/cgi/ww...er.pl?n=dmw007 senden, im Quelltext steht dann die komplette URL inkl Nickzahl die man auslesen kann. An die sendet man dann einen 2. Request und hat das Profil.

    Setz dich mal genauer mit dem was du machst auseinander, deine nicht funktionierende Lösung wäre selbst wenn du sie zum laufen bringst von der Übersichtlichkeit und Performance her 1000x schlechter als meine Variante.

  4. #4

    Registriert seit
    28.11.2011
    Beiträge
    174
    Thanked 84 Times in 51 Posts

    Standard Warum endet dies in einem Fail? :X

    Zitat Zitat von DMW007 Beitrag anzeigen
    Dein Code ist, genau wie deine Logik dahinter, extrem unsauber und chaotisch.
    Vorallem die Logik ist entgegen dem was sie sein sollte alles andere als Logisch.
    Fängt damit an dass du strings als booleans misshandelst, bis hin zu Variabeln die du verwendest bevor du sie überhaupt deklariert hast. Daher kommt auch der Timeout, weil du ne endlosschleife hast aus der du nie rauskommst.

    Geht übrigens auch viel einfacher, man muss nur nen Request an http://scripts.knuddels.de/ww/cgi/ww...er.pl?n=dmw007 senden, im Quelltext steht dann die komplette URL inkl Nickzahl die man auslesen kann. An die sendet man dann einen 2. Request und hat das Profil.

    Setz dich mal genauer mit dem was du machst auseinander, deine nicht funktionierende Lösung wäre selbst wenn du sie zum laufen bringst von der Übersichtlichkeit und Performance her 1000x schlechter als meine Variante.
    IchBinz war so lieb & hat da ein wenig aufgeräum^^ Auf jeden Fall läufts jetzt..
    Was ist aber noch nicht vertehe: Im Forum heißt es, ich kann auch nicht Family Nicks via "Knuddels.de/ww/Nick" aufrufen. Das klappt bei mir nicht. Jmd ne Ahnung?
    Außerdem habe ich grade das lustige Problem:
    Ich lade ein kleines Forumal und diese php-Datei hoch: Wenn ich nun einen Nick zum "prüfen" absende, will FF, dass ich die PHP-Datei downloade. - WTF
    Mache schauen Dir in die Augen.. Und manche drehen sich um.
    Rund um die Shishal!

  5. #5
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.145
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard Warum endet dies in einem Fail? :X

    Zitat Zitat von canon211 Beitrag anzeigen
    Was ist aber noch nicht vertehe: Im Forum heißt es, ich kann auch nicht Family Nicks via "Knuddels.de/ww/Nick" aufrufen. Das klappt bei mir nicht. Jmd ne Ahnung?
    Wie gesagt, guck dir genauer an mit was du arbeitest.
    Hättest du die Requests verfolgt wüsstest du, dass dich das auf http://scripts.knuddels.de/ww/cgi/ww...rder.pl?n=nick leitet, die Seite enthält, wie ich bereits sagte, den Link mit der Nick-ID, auf die du sofort per Meta-Refresh geleitet wirst.

    Zitat Zitat von canon211 Beitrag anzeigen
    Außerdem habe ich grade das lustige Problem:
    Ich lade ein kleines Forumal und diese php-Datei hoch: Wenn ich nun einen Nick zum "prüfen" absende, will FF, dass ich die PHP-Datei downloade. - WTF
    Wahrscheinlich der PHP-Interpreter abgekackt.

  6. #6
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard Warum endet dies in einem Fail? :X

    PHP-Code:
    <?php

    /**
     * @author Diebspiel
     * @copyright 2011
     */

    echo file_get_contents("http://www.knuddels.de/ww/Test");

    ?>
    Funktioniert 1a, ich weiß nicht, was du hast.

  7. #7

    Registriert seit
    07.02.2012
    Beiträge
    48
    Thanked 2 Times in 2 Posts

    Standard Warum endet dies in einem Fail? :X

    ach an die möglichkeit hab ich grad selbst nicht gedacht ^^
    Werd ich dir mal zeigen wenn ich das nächste mal per TV drin, weil du dafür den header brauchst um den Location: BLA zu bekommen.

    Aber ich sage es nocheinmal: Ich weiß nicht was du damit vorhast, aber PHP ist dafür die falsche sprache.

    ps: wenn er dir die PHP-Datei zum download anbietet hast du wohl keinen PHP-Fähigen webspace

  8. #8

    Registriert seit
    28.11.2011
    Beiträge
    174
    Thanked 84 Times in 51 Posts

    Standard Warum endet dies in einem Fail? :X

    Zitat Zitat von Diebspiel Beitrag anzeigen
    PHP-Code:
    <?php

    /**
     * @author Diebspiel
     * @copyright 2011
     */

    echo file_get_contents("http://www.knuddels.de/ww/Test");

    ?>
    Funktioniert 1a, ich weiß nicht, was du hast.
    Hab ich auch bereits gemerkt, daher nicht mehr geantwortet :p
    Mache schauen Dir in die Augen.. Und manche drehen sich um.
    Rund um die Shishal!

  9. #9
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard Warum endet dies in einem Fail? :X

    Zitat Zitat von IchBinz Beitrag anzeigen
    Werd ich dir mal zeigen wenn ich das nächste mal per TV drin, weil du dafür den header brauchst um den Location: BLA zu bekommen.
    Das ist nur bei fsockopen, also einer normalen Socketverbindung erforderlich, file_get_contents folgt wohl den Weiterleitungen (301 forwards) automatisch.

    Wenn Du einen eigenen Server hast und Zugriff auf die php.ini, kannst du das Limit der Ausführungszeit des Scriptes hochsetzen. Und wenn du genug Traffic zur Verfügung hast, ist PHP eigentlich hier kein Problem zu benutzen,

  10. #10

    Registriert seit
    07.02.2012
    Beiträge
    48
    Thanked 2 Times in 2 Posts

    Standard Warum endet dies in einem Fail? :X

    Zitat Zitat von Diebspiel Beitrag anzeigen
    Das ist nur bei fsockopen, also einer normalen Socketverbindung erforderlich, file_get_contents folgt wohl den Weiterleitungen (301 forwards) automatisch.

    Wenn Du einen eigenen Server hast und Zugriff auf die php.ini, kannst du das Limit der Ausführungszeit des Scriptes hochsetzen. Und wenn du genug Traffic zur Verfügung hast, ist PHP eigentlich hier kein Problem zu benutzen,
    Okay das wusste ich noch nicht man kann doch immernoch dazulernen.

    Die Ausführungszeit zu ändern sollte man aber mit vorsicht genießen.
    Und ich sagte auch nicht dass es mit PHP nicht geht. Allerdings für einen Crawler z.B. wäre PHP ein e schlechte Wahl. Habe ihm auch bereitz zu der wirklich einfachen sprache AutoIt geraten. Wenn man C# kann ist es natürlich keine Frage das auch zu nutzen bzw. sogar C++, aber für einen anfänger ist AutoIt sehr leicht zu lernen und die Sprache kann ich jedem empfehlen der mal in die Windows-Programmierung reinschnuppern möchte.

Seite 1 von 2 12 Letzte

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 07.05.2017, 22:20
  2. Unerträgliche Schmerzen: Was kann dies sein?
    Von Bazs im Forum Sport & Gesundheit
    Antworten: 9
    Letzter Beitrag: 27.08.2013, 06:15
  3. Kennenlernen dies das
    Von !lkay im Forum OffTopic
    Antworten: 10
    Letzter Beitrag: 18.11.2012, 15:47
  4. Fortgeschritten Konvertieren von einem Fifty-String zu einem anderen Format
    Von Mentos im Forum Aufgaben
    Antworten: 0
    Letzter Beitrag: 03.02.2012, 17:17
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.