CSV-Datei von fremdem Server importieren

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

  • CSV-Datei von fremdem Server importieren

    Gibt es die Möglichkeit, eine zum Download bereit gestellte CSV-Datei von einem anderen Server einzulesen?

    Hintergrund:
    Ich möchte Affiliate-Daten, die in einer CSV-Datei bereitgestellt werden direkt verarbeiten (in meine Datenbank importieren) oder zumindest auf meinen Server ziehen.

    Ist soetwas mit PHP möglich?
    Das Genie überblickt das Chaos!

    Wer Rechtschreibfehler findet, darf sie behalten!

  • #2
    fopen und fgetcsv sollten wir weiterhelfen....
    **********
    arkos
    **********

    Kommentar


    • #3
      Die beiden Befehle habe ich mir bereits angesehen, scheinen aber nur auf dem eigenen Server zu funktionieren. Ich benötige jedoch eine Funktion, die die CSV-Daten von einem anderen Server auf meinen eigenen kopiert oder eben direkt vom fremden Server ausliest.
      Das Genie überblickt das Chaos!

      Wer Rechtschreibfehler findet, darf sie behalten!

      Kommentar


      • #4
        fsockopen()

        Kommentar


        • #5
          Danke für den Link, ich habe das Ganze mal ausprobiert, funktioniert aber noch nicht. Ich komme irgendwie nicht ganz damit klar.
          Kann mir jemand sagen, welche Voraussetzungen erfüllt sein müssen, damit fsockopen() funktioniert?
          Das Genie überblickt das Chaos!

          Wer Rechtschreibfehler findet, darf sie behalten!

          Kommentar


          • #6
            Funktioniert nicht ist wiedermal eine Topp-Fehlerbeschreibung
            Hast du dir das Bsp 1406 im Manual zu fsockopen() angeschaut? Genau so sollte es funktionieren. Du musst dann bei der Auswertung der Serverantwort nur darauf achten, dass du die Serverheader von den Daten trennst.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Das Beispiel hab ich mir angesehen, hab meinen Fehler jetzt auch gefunden, ich hatte statt "www.example.com" die komplette Adresse angegeben "www.example.com/ordner/datei.csv".

              Mein Frage ist jetzt nur, wie ich nun zu der CSV-Datei komme, welche Befehle nutze ich denn hierfür?
              Das Genie überblickt das Chaos!

              Wer Rechtschreibfehler findet, darf sie behalten!

              Kommentar


              • #8
                Im den User Comments zu fsockopen() steht mit Sicherheit ein Beispiel.

                Kommentar


                • #9
                  oder folgender hinweis:
                  Die Funktion fsockopen() gibt einen Zeiger auf eine Datei zurück, der in Verbindung mit anderen Datei-Funktionen (wie z.B. fgets(), fgetss(), fputs(), fclose(), feof()) gebraucht werden kann.
                  da muss er sich nur noch das passende raussuchen.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Du musst halt mit dem Server sprechen!
                    GET /pfad/zum/file HTTP/1.1
                    Host: www.example.com
                    ...

                    Kommentar


                    • #11
                      Problem ist, dass ich folgende Fehlermeldung bekomme, wenn ich folgende Funktion ausführe:

                      PHP-Code:
                          $fp fsockopen("www.zanox.com"80$errno$errstr30);
                          
                      // der Rest ... 

                          
                      $csv_datei 'http://productdata.zanox.com/CSVFormat.aspx?partnerCode=.....';
                          echo 
                      $fp fopen $csv_datei'r' ); 
                      Fehlermeldung:
                      [function.fopen]: failed to open stream: no suitable wrapper could be found in /var/www/webxx/html/example/csv_include.php on line 63
                      Das Genie überblickt das Chaos!

                      Wer Rechtschreibfehler findet, darf sie behalten!

                      Kommentar


                      • #12
                        Wo hast du in den Beispielen gesehen, dass es so gehen würde
                        In den Beispielen steht in etwa:
                        1. Socket zum entfernten Host öffnen
                        2. GET Request nach dem File absetzen
                        3. Serverantwort auslesen
                        4. ausgelesene Daten wie's beliebt verarbeiten

                        Du versuchst aber das File direkt via fopen() zu öffnen und das setzt allow url open voraus!
                        PHP-Code:
                        $fp fsockopen('www.zanox.com',80,$errno,$errstr,30);
                        if(!
                        fp){
                          die(
                        'Verbindungsfehler');
                        }else{
                          
                        $request "GET /CSVFormat.aspx?partnerCode=... HTTP/1.1\r\n";
                          
                        $request .= "Host: www.zanox.com\r\n";
                          
                        $request .= "Connection: Close\r\n\r\n";
                          
                        fputs($fp,$request);
                          
                        $antwort '';
                          while(!
                        feof($fp)){
                            
                        $antwort fgets($fp);
                          }

                        so müsste es eigentlich klappen.

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Vielen Dank für deine Hilfe.

                          Bekomme jetzt einen 404-Fehlerbericht und werde anschließend auf die Startsteite von zanox weitergeleitet. Wie bekomme ich denn jetzt raus wo der Fehler liegt?
                          Das Genie überblickt das Chaos!

                          Wer Rechtschreibfehler findet, darf sie behalten!

                          Kommentar


                          • #14
                            Wie bekomme ich denn jetzt raus wo der Fehler liegt?
                            z.B. indem du die URL mal direkt im Browser aufrufst und mit einem Header Tool die Antwort des Servers auswertest (für FF gibt's dazu die Live Header Extension). Wird der Request weitergeleitet? Oder hast du einen Schreibfehler in der URL? Den Partner Code haste schon agepasst?

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Den Partner-Code hab ich natürlich angepasst, ja. ;-)

                              Das direkte Aufrufen der URL funktioniert auch. Werd' mal eben den FireFox aufmachen und die von dir angesprochene Extension installieren.
                              Das Genie überblickt das Chaos!

                              Wer Rechtschreibfehler findet, darf sie behalten!

                              Kommentar

                              Lädt...
                              X