1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Webseite auslesen, aber wie?!

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Dadelu, 16.12.07.

  1. Dadelu

    Dadelu Reinette Coulon

    Dabei seit:
    06.07.05
    Beiträge:
    939
    Guten Abend Zusammen

    Seit nun 2 Tagen versuche ich ein Problem zu lösen, aber obwohl es ja bekanntlich Google etc. gibt, finde ich einfach keine Lösung. Vieleicht hat jemand von Euch eine Idee?

    Hier die "Aufgabenstellung" :) :

    Ich würde gerne von meinem Hosting - Server aus, eine x- beliebige Seite auslesen. Besser gesagt,
    deren HTML Inhalt. Sollte ja eigentlich nicht so schwierig sein? Ich kann mich erinnern, diese Parser Aufgabe vor ein paar Jahren mittels JSP gelöst zu haben.. Jetzt müsste es halt mit PHP gehen..

    Google hat mir sugeriert, es mal mit: fopen, fread, fclose zu versuchen. Aber ich scheitere komplett daran!

    Hier der Code (wie er von der Vorgabe Seite 1:1 kopiert wurde)
    Code:
    <?php    
        $handle = fopen("http://www.20min.ch/", "r");
        $contents = '';
        while(!feof($handle)) {
                  $contents = fread($handle,8192);
        }
       fclose($handle);
    ?>
    
    Die Seite verläuft sich dann in eine Endlose Schleife mit dieser Ausgabe (einige interne Daten wurden angepasst ;))
    Code:
    [B]Warning[/B]:  fopen() [[URL="http://www.schwiizerisch.ch/pg_nice/function.fopen"]function.fopen[/URL]]: URL file-access is disabled in the server configuration in [B]/home/XX/public_html/pg_nice/sendMessage.php[/B] on line [B]2[/B]
    <br>
    [B]Warning[/B]:  fopen([URL]http://www.20min.ch/[/URL]) [[URL="http://www.schwiizerisch.ch/pg_nice/function.fopen"]function.fopen[/URL]]: failed to open stream: no suitable wrapper could be found in [B]/home/XX/public_html/pg_nice/sendMessage.php[/B] on line [B]2[/B]
    <br>
    [B]Warning[/B]:  feof(): supplied argument is not a valid stream resource in [B]/home/XX/public_html/pg_nice/sendMessage.php[/B] on line [B]4[/B]
    Und dies wiederholt sich wie gesagt unendlich...

    Kann mir jemand helfen? Wäre wirklich sehr, sehr, sehr dankbar :)

    MfG , Dadelu
     
  2. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Die PHP-Konfigurationsvariable allow_url_fopen sollte wohl auf true stehen.
     
  3. Dadelu

    Dadelu Reinette Coulon

    Dabei seit:
    06.07.05
    Beiträge:
    939
    Hmm kann ich dies überhaupt selbst einstellen? Glaube ja eher nicht? Oder gibt es noch andere Varianten für mein "Problem"?
     
  4. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Das weiß ich nicht. Mit einem php_info() kannst du jedenfalls mal den eingestellten Wert der Variable auslesen. Bin mir ziemlich sicher dass es daran liegt - steht auch so ungefähr im Manual.
     
  5. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Versuch es mal mit .htaccess
    Schreib mal php_admin_flag allow_url_fopen on in eine Textdatei, speicher sie als .htaccess und lege sie in deinen Webroot.
     
  6. Dadelu

    Dadelu Reinette Coulon

    Dabei seit:
    06.07.05
    Beiträge:
    939
    Ok, Danke für den Hinweis, werde es Heute Abend mal ausprobieren mit der .htaccess Datei :)
     
  7. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Ansonsten sieht es schlecht aus, denn sogar http://de3.php.net/manual/de/function.file-get-contents.php braucht allow_url_fopen = "1" :)


    Wenn dein Provider dir erlaubt die php.ini via ini_set zu verändern dann dürfte auch folgendes funktionieren:
    Code:
    if(ini_get('allow_url_fopen') != 1)
    {
     @ini_set('allow_url_fopen', '1');
     if(ini_get('allow_url_fopen') != 1)
     {
      die("Please set the variable 'allow_url_fopen' to the value 1");
     }
    }
    
     
  8. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Noch eine kleine Frage: Falls das mit fopen dann klappt, muesste es nicht eher ...

    Code:
    $contents .= fread($handle, 8192);
    ... heissen?
     
  9. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Mal was anderes: du möchtest die Inhalte der Seite auslesen? Warum verwendest du dann nicht einfach die RSS-Datei? Ist ja eigtl. dafür da...
     
  10. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Hallo!

    curl wäre da noch eine möglichkeit:

    Code:
    	$url = "http://www.whatevermysitemaybe.com/rss.xml";
    	$ch = curl_init($url); 
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    	$buffer = curl_exec($ch);
    	curl_close($ch);
    
    lg
     

Diese Seite empfehlen