Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 24

Thema: FILE ("http://www.wasweisich.de/info.php") geht nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    FILE ("http://www.wasweisich.de/info.php") geht nicht

    Ich will in einem PHP-Script eine externe
    Seite über File einlesen, den Inhalt der Seite
    verändern und dann wieder ausgeben.

    Leider bleibt mein PHP-Script immer bei der
    Funktion file ("http://www.wasweisich.de/info.php") stehen.

    Gibt es eine Einstellung in PHP.INI etc. die das Einlesen
    von externen Seiten verhindert, etc. ?

    Danke

    Torsten.E

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Ohne Code kann man wenig schreiben was der Fehler ist.
    Grundsätzlich sollte es aber Funktionieren.
    mal einfaches Beispiel wie ich RDF Seiten von KDE.org einlese und Bearbeite.
    PHP-Code:
    <?php
      header
    ("Cache-Control: no-store, no-cache, must-revalidate");
      
    header("Cache-Control: post-check=0, pre-check=0"FALSE);
      
    header("Pragma: no-cache");

    class 
    Counter
     
    {
        var 
    $name$symbol$code$type;
        function 
    Counter($aa
        {
            foreach (
    $aa as $k=>$v)
                
    $this->$k $aa[$k];
        }
     }
     
     function 
    parsetree($mvalues
     {
        for (
    $i=0$i count($mvalues); $i++) {
            
    $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
        }
        return new 
    Counter($mol);
     }

     function 
    einlesen($filename
     {
        
    $data implode(""file($filename));
        
    $parser xml_parser_create();
        
    xml_parser_set_option($parserXML_OPTION_CASE_FOLDING0);
        
    xml_parser_set_option($parserXML_OPTION_SKIP_WHITE1);
        
    xml_parse_into_struct($parser$data$values$tags);
        
    xml_parser_free($parser);

        foreach (
    $tags as $key=>$val)
        {
            if ( 
    $key == "lastBuildDate" )
            {
                
    $molranges $val;
                for (
    $i=0$i count($molranges); $i+=2) {
                        
    $offset $molranges[$i] + 1;
                    
    $len $molranges[$i 1] - $offset;
                    
    $tdb[] = parsetree(array_slice($values$offset$len));
                }
            }
        }

        foreach (
    $tags as $key=>$val)
        {
            if ( 
    $key == "item" ) {
                
    $molranges $val;
                for (
    $i=0$i count($molranges); $i+=2) {
                        
    $offset $molranges[$i] + 1;
                    
    $len $molranges[$i 1] - $offset;
                    
    $tdb[] = parsetree(array_slice($values$offset$len));
                }
            } else {
                continue;
            }
        }
        return 
    $tdb;
    }

    function 
    rdf_write_select($uri$nam$req "post")
    {
     
    $db einlesen($uri); 
     
    $var "<select name=\"" $nam "\" style=\"width: 274px; height: 24px;\">";
     foreach ( 
    $db AS $k )
     {
      
    $txt utf8_encode$k->title );
      
    $style = ( $k == ) ? "background-color: #c4d0ff;" "background-color: #ffffff;";
      
    $var .= "<option value=\"" strtolower$k->link ) . "\" style=\"" $style "\">" $txt "</option>\n";
     }
     
    $var .= "</select>
      <input type=\"submit\" value=\"Go\" style=\"width: 26px; height: 24px;\"/>"
    ;
     return 
    $var;
    }
    $one rdf_write_select("http://www.kde.org/kde-look-content.rdf""kdenews""get");
    $two rdf_write_select("http://www.kde.org/kde-look-news.rdf""kdenews""get");
    $thr rdf_write_select("http://www.kde.org/kde-look-discussion.rdf""kdenews""get");
    $rel $_SERVER['PHP_SELF'];
    echo <<<EOT
    <div style="text-align: center; padding: 3px; position: relative; width: 320px; height: auto; background-color: #c4d0ff; border: 1px inset #353535;">
     <form action="
    $rel" method="$req">
      <label>Kde News Tickers 
    $one $two $thr </label>
     </form>
    </div>
    EOT;

    if ( isset( 
    $_GET['kdenews'] ) && $_GET['kdenews'] != "" )
     echo 
    header("location: " $_GET['kdenews'] );

    ?>

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Der Code ist nicht wichtig

    Code:
    $text = file ("http://partner.tiervermittlung.net/p_21.php");
    Das Script kommt über so eine Zeile einfach nicht weiter
    und bleibt stehen. Wird die Seite "http://partner.tiervermittlung.net/p_21.php"
    mit dem Web-Browser aufgerufen, erfolgt eine Anzeige.

    Und genau diese Rückgabe des PHP-Scriptes will ich
    in einer Variable haben, mehr nicht.

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Verwende mal ein fopen oder fstream

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    fopen geht auch nicht

    fopen geht ebenfalls nicht und wie funzt "fstream" ?

    Vielleicht hilft das weiter:
    Warning: fopen(http://www.google.de/index.htm): failed to open stream: HTTP request failed! in /home/d00000000001/htdocs/getfile.php on line 3

    Grüße

    Torsten.E
    Geändert von Torsten.E (08-09-2004 um 09:15 Uhr)

  6. #6
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Muß jetzt mal dumm fragen, hast du überhaupt Zugriff aufs internet von deinem Server ?
    Die Meldung sagt mir dies jeden falls
    PHP-Code:
    <?php
      
    if ( $id fopen("http://www.google.de/index.htm""r") )
        echo 
    var_dump$id );
    ?>

  7. #7
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Zugriff auf Internet - JA

    Ja, es ist sogar ein Internet-Server auf dem das PHP-Script läuft.

    Aber die Frage ist trotzdem berechtigt gewesen ;-)

    Ich denke eher, es hängt mit den Einstellungen von PHP.INI oder Apache
    zusammen, ob eine solche Anfrage erlaubt ist oder nicht.

    PHP.INI

    allow_url_fopen = On (habe ich aber schon)

  8. #8
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Dann mußt aber den Server neu starten
    Besser ist .htaccess
    PHP-Code:
    <FilesMatch "\.(php|html?)$">
        
    php_flag  allow_url_fopen  On
    </FilesMatch

  9. #9
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Kleine Anmerkung:
    Bei php.ini Einstellungen immer über phpinfo() Testen, ob diese auch wirklich greifen!


  10. #10
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Beides geht nicht :-(

    Die Änderungen in der .htaccess bewirken ebenfalls nichts.

    www.ifta-gmbh.com/info.php (wenn`s interessiert)

    Der Server wird klar immer neu gestartet wenn in den Datein was geändert wird :-)

    Die Testdatei mit folgenden Quelllcode ist auf dem gleichen Server unter www.tierregistrierung.de/getfile.php aufzurufen.

    Code:
    <?php
    
    if ( $id = fopen("http://partner.tiervermittlung.net/p_21.php", "r") )
        echo var_dump( $id );
    ?>
    Geändert von Torsten.E (08-09-2004 um 12:29 Uhr)

  11. #11
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Kein Plan was bei dir nicht geht bei mir funzt es wunderbar
    PHP-Code:
    <?php

    if ( $id fopen("http://partner.tiervermittlung.net/p_21.php""r") )
        echo 
    var_dump$id );

        
    $str fread($id2049);
        
    fclose($id);

        echo 
    htmlentities($str);
    ?>

  12. #12
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Apache-Version + PHP-Version ??

    Kann es an den Versionen von PHP + Apache liegen ?

  13. #13
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Versuch doch mal einen Socket über TCP auf zu machen ich glaube nicht das es an PHP liegt.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  14. #14
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    TCP Socket wie ? Telnet geht jedenfalls

    Wie mach ich einen TCP Socket in Linux zum testen ?

    Also Telnet funzt jedenfalls

  15. #15
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Oder besser gefragt wie verwende ich die PHP Manual
    http://www.php.net/manual/de/function.fsockopen.php
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •