fsockopen / fputs - In Datei schreiben

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

  • fsockopen / fputs - In Datei schreiben

    Hi@all

    ich möchte in eine log-Datei auf einem anderen server Daten schreiben.


    PHP-Code:
    $fp fsockopen ("www.domain.de"80$errno$errstr30);
    if (!
    $fp)
    {
     echo 
    $errstr ($errno)."<br />\n";
    }
    else
    {
     
    fputs ($fp"GET /pfad/".$nummer.".dat HTTP/1.1\r\n");
     
    fputs ($fp"Host: www.domain.de\r\n");
     
    fputs ($fp"Connection: close\r\n\r\n");
     while (!
    feof($fp))
     {
      echo 
    fgets($fp,128);
     }
     
    fclose($fp);

    hier bekomme ich aber nur eine Bildschrimausgabe

    HTTP/1.1 200 OK Date: Wed, 16 May 2007 15:41:18 GMT Server: Apache/2.2.0 (Linux/SUSE) Last-Modified: Wed, 16 May 2007 12:01:21 GMT ETag: "f4049c-a0-1bc50640" Accept-Ranges: bytes Content-Length: 160 Connection: close Content-Type: video/mpeg ..........


    Und alles bis zu den punkten .......... soll natürlich nicht mit in der Datei stehen

    Thx@all
    Zuletzt geändert von wahsaga; 16.05.2007, 18:13.

  • #2
    Re: fsockopen / fputs - In Datei schreiben

    Original geschrieben von Prominenter
    ich möchte in eine log-Datei auf einem anderen server Daten schreiben.
    Und du nimmst lustigerweise an, dies würde über einen HTTP-GET-Request gehen ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ja, dachte ich - is wohl nicht so ?

      kannst du mir einen ansatz geben wie ich das hinkriege.
      Über http geht das ja nicht, und ich dachte mit fsockopen kann ich das machen.

      Kommentar


      • #4
        Original geschrieben von Prominenter
        [...] und ich dachte mit fsockopen kann ich das machen.
        Mit fsockopen kannst du eine Verbindung zu einem anderen Server aufbauen, und ihm Daten schicken.

        Was dieser dann mit diesen Daten macht, hat dieser zu entscheiden - wäre ja schlimm, wenn man einfach so überall "Dateien erstellen" könnte, in dem man einfach nur Daten hinschickt!


        Du bräuchtest also bspw. ein Script auf dem anderen Server, welches die Daten in Empfang nimmt, und - nach einer geeigneten Authentifizierung, denn es soll ja wohl kaum jeder "schreiben" dürfen - diese in eine Datei schreibt.

        HTTP PUT wäre evtl. noch eine Alternative - aber das wird selten unterstützt.
        Na ja, und FTP ginge natürlich auch.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          @wahsaga

          Danke für die Hinweise.

          Das ist aber schade, das es so nicht geht.

          Wie wäre denn ein Ansatz für:
          Du bräuchtest also bspw. ein Script auf dem anderen Server, welches die Daten in Empfang nimmt, und - nach einer geeigneten Authentifizierung, denn es soll ja wohl kaum jeder "schreiben" dürfen - diese in eine Datei schreibt.

          Kommentar


          • #6
            http://php.net/syslog

            Kommentar


            • #7
              Leider nicht das richtige.

              Also das eigentliche roblem besteht darin.

              Ich habe auf dem Server A verschiedene Bilder liegen und diese möchte ich nun auf Server B und C auch anzeigen.
              Dabei soll auf Server A geloggt werden wie oft die Bilder angezeigt wurden.

              Ich rufe also von Server B und C jeweils eine anzeige.php auf die ausliest wieviel Bilder auf server A exitstieren und zeigt diese an - das klappt auch wunderbar.

              Jetzt möchte ich nur entsprechend loggen wie oft eben die bilder insgesamt angezeigt wurden .

              Von Server A aus kein Problem mittels fopen/fputs - aber von Server B und C geht das halt nicht.

              Ich kann auch auf Server B und C nicht von Server A includen, hab ich schon probiert bekomme ich Fehlermeldung:
              include() [function.include]: URL file-access is disabled in the server configuration .

              Nun bitte nochmal meine Frage, gibt es eine Möglichkeit das irgendwie hinzubekommen - danke für Eure Hilfe!

              Kommentar


              • #8
                Bilder werden auf Webseiten für gewöhnlich per <img src="..." /> eingebettet.
                Egal ob die Webseite nun von Server A, B oder C erzeugt wird, kann stets der Wert von src auf Server A verweisen:
                <img src="http://IPvonServerA/path/to/image.ext" />

                Zack, schon hast du alle Zugriffe auf image.ext sauber im Logfile des Webservers von Server A und kannst Feierabend machen.

                Wenn du auch noch wissen möchtest, von welchem Server die Bilder referenziert wurden, dann schreibe dessen IP als GET-Parameter:
                <img src="http://IPvonServerA/path/to/image.ext?von=IPvomAktuellenServer" />
                Zuletzt geändert von onemorenerd; 16.05.2007, 19:16.

                Kommentar

                Lädt...
                X