include auf einen anderen server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • include auf einen anderen server

    hey leute...

    ich habe auf einem webserver eine kleine homepage laufen. auf dem habe ich keine mySQL-DB zur Verfügung.

    auf einem anderen webserver läuft dann ein Script auf dem ich auf die vorhandene mySQL-DB zugreife.

    Wenn ich nun auf HP1 folgendes mach, funktioniert das nicht recht.

    <?PHP
    include "http://www.coyote.at/......./phphits.inc.php";
    phphitsAddHit();
    ?>

    Warum funktioniert der Include nicht??
    Der Fehler auf HP2 wäre unter http://www.ammersdorfer.com zu sehen

    Danke im Voraus
    Tom

  • #2
    Wenn "URL fopen wrappers" in PHP aktiviert sind (in der Standardkonfiguration ist das der Fall) können Sie als Pfad der einzubindenden Datei auch eine URL (via HTTP oder anderen unterstützen Wrappern - eine Liste der unterstützen Protokolle finden Sie unter Anhang J) statt einer lokalen Pfadangabe angeben. Falls der Zielserver die Zieldatei als PHP-Code interpretiert, können Sie an die einzubindende Datei Variablen in einem Request-String übergeben, genauso wie bei HTTP GET. Streng genommen ist das nicht das Gleiche, wie diese Datei einzubinden und diesem den Geltungsbereich des Vater-Skripts zu vererben; das Skript wird auf dem Remote-Server ausgeführt und danach wird das Ergebnis in das lokale Skript eingebunden.


    Warnung
    Windows PHP Versionen, kleiner als PHP 4.3, erlauben den Zugriff auf Remote-Dateien mit dieser Funktion nicht, selbst wenn allow_url_fopen aktiviert ist.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Danke...
      Muss zugeben, ich hab das nicht zur Gänze verstanden.

      Kannst du mir das bitte in einer Demo beschreiben??

      Besten Dank

      Kommentar


      • #4
        Configuration
        PHP Core
        Directive | Local Value | Master Value

        allow_url_fopen | On | On


        Is aktiviert oder???
        Wie nun weiter?

        Kommentar


        • #5
          Hallo Tom,

          so geht es nicht.

          Der include wird wohl funktionieren, aber Du hast dadurch nicht
          die Funktionen aus phphits.inc.php zur Verfügung.

          Du bekommst lediglich das geparste Ergebnis(also reinen HTML-Code) aus phphits.inc.php zurück (wenn diese Datei keine outputs, sondern nur Funktionen hat, dann halt 'nichts'),
          sonst könnte ich ja jede beliebige php-datei von fremden Servern includen und hätte den Quelltext

          Eine Möglichkeit wäre vielleicht eine RPC-Simulation, wie z.B.:
          auf HP1:
          include "http://www.coyote.at/......./phphits.inc.php?cmd=phphitsAddHit"

          auf HP2: phphits.inc.php modifizieren (z.B an das Ende der Datei):
          PHP-Code:
          if (isset($_GET["cmd"]))
              {
              
          $command=$_GET["cmd"];
              
              switch (
          $command) {
                  case 
          "phphitsAddHit" :
                      
          phphitsAddHit();
                      break;
                  case 
          "..." :
                      
          // usw...
                      
          break;
                  default:
                      
          // was auch immer...
                      
          break;
                  }
              } 

          Gruß,
          Quickborner

          Kommentar


          • #6
            Besten Dank...
            So funktionierts ideal!!!!!

            Kommentar


            • #7
              hey, ich bins nochmal....

              hab doch noch ein kleies problem.
              also ich hab das script wie oben beschrieben abgeändert.

              PHP-Code:
              <?PHP
              include "http://www.coyote.at/_clients/ammersdorfer/php/counter/phphits.inc.php?cmd=phphitsAddHit";
              ?>
              Wenn ich diese Zeilen in einer html-Seite einbinde kommt kein Fehler, aber gezählt wird nicht.

              Schreibe ich nur http://www.coyote.at/_clients/ammers...=phphitsAddHit in die EIngabezeile des IE, wird der Counter um eins erhöht.

              WARUM??????????????????????

              Schönen Dank
              Tom

              Kommentar


              • #8
                Bloss nicht includen.

                Beim include wird vorhandener php code ausgeführt.
                Damit baust du dir eine Riesen Sicherheitslücke.

                Wofür gibts fopen/file_get_contents?

                Kommentar


                • #9
                  hm also

                  PHP-Code:
                  <?PHP
                  $filename 
                  "http://www.coyote.at/_clients/ammersdorfer/php/counter/phphits.inc.php?cmd=phphitsAddHit";
                  $handle fopen ($filename"r");
                  ?>
                  bringt auch keinen erfolg

                  Kommentar


                  • #10
                    Keine Ideen oder Hilfen mehr für mich??

                    Kommentar


                    • #11
                      jo Du hast die Seite geöffnet zum lesen und wie wäre es wenn Du sie auch ausliest?
                      fread() zum Beispiel?
                      rtfm
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        Warum machst Du alles auf ammersdorfer.com?
                        Im Prinzip reicht doch eine index.html mit Frame auf www.coyote.at/.......
                        Das sieht dann halt nur nach ammersdorfer.com aus...

                        Kommentar


                        • #13
                          rtfm ist eine sehr tolle antwort, danke...

                          kann mir keiner erklären warum das script mit include nicht läuft?
                          warum kommt keine fehlermeldung, wenns schon nicht funktioniert?

                          fread funktioniert nicht mit ?cmd=... weil die filesize scheinbar nicht ermittelt werden kann.

                          Lösungen??
                          Hilfe??

                          Bitte, Danke
                          Thomas

                          Kommentar


                          • #14
                            Original geschrieben von merlin_76
                            fread funktioniert nicht mit ?cmd=... weil die filesize scheinbar nicht ermittelt werden kann.
                            fread braucht nicht die exakte dateigröße - ein wert, der auf jeden fall größer ist, würde es auch tun.

                            und dass filesize "scheinbar" nicht funktioniert ... hm, ja - woran mag das wohl liegen? etwa daran, dass das manual ausdrücklich darauf hinweist, dass dies für remote dateien nicht möglich ist ...?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              PHP-Code:
                              $filename "http://www.coyote.at/_clients/ammersdorfer/php/counter/phphits.inc.php?cmd=phphitsAddHit";
                              $fp fopen ($filename"r");
                              fread ($fp"20000"); 
                              Die Datei phphits.inc.php hat 16KB. Diese Zeilen haben die gleichen Auswirkungen wie include. Kein Fehler, trotzdem keine Countererhöhung.

                              Also derzeit versteh ichs überhaupt nicht. Warum läuft das nicht und wie bekomm ichs zu laufen????

                              Counter erhöhen:
                              PHP-Code:
                              http://www.coyote.at/_clients/ammersdorfer/php/counter/phphits.inc.php?cmd=phphitsAddHit 
                              Counter auslesen:
                              PHP-Code:
                              http://www.coyote.at/_clients/ammersdorfer/php/counter/phphits.inc.php?cmd=phphitsShowHits 
                              Das Counter auslesen funktioniert übrigends mit include einwandfrei.

                              Wäre für Lösungen echt dankbar!

                              Kommentar

                              Lädt...
                              X