Brauche Hilfe zum verarbeiten von CSV ausgabe

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

  • Brauche Hilfe zum verarbeiten von CSV ausgabe

    Hallo,

    ich rufe per URL eine Datei auf, die mir eine CSV ausgabe liefert, die ich dann gerne verarbeiten möchte.

    Nur weiss ich leider nicht wie ich das am einfachsten machen soll, bzw. ob es dafür schon funktionen gibt um das möcglichst umkompliziert zu verarbeiten.

    So sieht die ausgabe der URL aus:
    PHP-Code:
    "leaduuid";"campaign";"eventTypeId";"type";"leadId";"creativeId";"adspaceid";"subid";"eventTime";"visitTime";"status";"amount";"commission";"created";"lastUpdated" 
    "2452334564563475567567"
    ;"845";"10812";"lead";"30225";"12811";"148091";"0";"2010-04-26 14:14:58";"2010-04-26 14:13:00";"-1";"0.00";"66.00";"2010-04-26 14:14:58";"2010-04-28 11:44:10" 
    "5465467565786787698988"
    ;"845";"10795";"lead";"30372";"12811";"148091";"0";"2010-05-01 11:41:35";"2010-05-01 11:36:10";"0";"0.00";"5.50";"2010-05-01 11:41:35";"0" 
    Ich möchte die Daten in meinder Datenbank speichern und will diese zuvor jeweils als array speichern, so das ich diese in einer schleife verarbeiten kann.

    weiss jemand auf die schnelle eine gute lösung?

  • #2
    PHP: fgetcsv - Manual

    Kommentar


    • #3
      also der aufruf einer externen url die die CSV liefert funzt irgendwie nicht.

      PHP-Code:
      <?php
      $url 
      "https://www.url-zur-csv.de";
      $row 1;
      if ((
      $handle fopen($url"r")) !== FALSE) {
          while ((
      $data fgetcsv($handle1000";")) !== FALSE) {
              
      $num count($data);
              echo 
      "<p> $num fields in line $row: <br /></p>\n";
              
      $row++;
              for (
      $c=0$c $num$c++) {
                  echo 
      $data[$c] . "<br />\n";
              }
          }
          
      fclose($handle);
      }
      ?>
      FEHLER MELDUNG:
      failed to open stream: No error in E:\xampp\htdocs\adseen\test123\banner\24api.php on line 4

      Kommentar


      • #4
        Zitat von BananaJo Beitrag anzeigen
        failed to open stream: No error in E:\xampp\htdocs\adseen\test123\banner\24api.php on line 4
        Häufige Fehlermeldungen - Warning: fopen() - No error

        Kommentar


        • #5
          Hallo,

          wird der HTTPS-Stream-Wrapper auf deinem System unterstützt? Hast du es vorher schon mal irgendwie hinbekommen, diese Datei mit PHP abzurufen, also ohne Rücksicht auf die enthaltenen CSV-Daten? Klappt es mit fsockopen statt fopen oder mit cURL?

          Wenn du es hinbekommst, die Datei irgendwie in einen String zu bekommen, kannst du danach auch mit PHP: str_getcsv - Manual darauf zugreifen.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Also die ausgabe erfolgt ja in einem String, wenn ich die URL in den Browser eingebe

            Kommentar


            • #7
              Zitat von BananaJo Beitrag anzeigen
              daraus werde ich irgendwie nicht schlau.. wo liegt denn das Problem jetzt?
              • Die angeforderte Ressource liegt in einem mittels HTTP Basic Authentication geschützten Bereich (Status-Code 401)
              • Es erfolgt ein nicht RFC-konformer Redirect. Korrekte Redirects mit absoluter URL kann fopen() jedoch handhaben (Status-Code 301 oder 302)
              • Die Ressource ist nicht vorhanden (Status-Code 404)
              • Der Zugriff ist verboten (Status-Code 403)

              Häufige Fehlermeldungen - Warning: fopen() - No error

              Kommentar


              • #8
                Also doch cURL und str_getcsv...
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  also ich habe jetzt die lösung ausprobiert
                  PHP-Code:
                  function csv_to_array($csv$delimiter ';'$enclosure '"'$escape '\\'$terminator "\n") {
                      
                  $r = array();
                      
                  $rows explode($terminator,trim($csv));
                      
                  $names array_shift($rows);
                     
                  // echo $names;
                      
                  $names str_getcsv($names$delimiter$enclosure$escape);
                      
                  $nc count($names);
                      foreach (
                  $rows as $row) {
                          if (
                  trim($row)) {
                              
                  $values str_getcsv($row,$delimiter,$enclosure,$escape);
                              if (!
                  $values$values array_fill(0,$nc,null);
                              
                  $r[] = array_combine($names,$values);
                          }
                      }
                      return 
                  $r;
                  }

                  //Diese URL erstellt den String zur CSV
                  $csv "https://www.url-zum-csv-string.de";
                  csv_to_array($csv); 
                  leider bekomme ich keine ausgabe.. ich denke es liegt an der URL, so das der String nicht richtig ankommt oder so.. muss ich den irgendwie besonders aufrufen oder so.. so das der in $csv steht?

                  Kommentar


                  • #10
                    Ich hab dir ja schon gesagt, dass du dich zu allererst darum kümmern sollst, dass du überhaupt den CSV-Code erstmal mit PHP abgerufen bekommst, z. B. mit cURL. Wie sind in diesem Bereich deine Fortschritte?
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      also das mit cUrl hab ich jetzt gut hingekommen.

                      leider geht bei dir dir funktion "str_getcsv" nicht.. gibts da ne alternative bzw kann man diese irgendwo einschalten?

                      Kommentar


                      • #12
                        Gewöhne dir bitte erst mal „funktioniert nicht“-Statements ab - und liefere stattdessen vernünftige, nachvollziehbare Problembeschreibungen.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          PHP-Code:
                          if(!function_exists('str_getcsv')) 
                          {
                              echo 
                          "nicht da";    


                          bekomme die ausgabe: nicht da

                          Kommentar


                          • #14
                            Die Funktion gibts erst ab PHP 5.3

                            Kommentar


                            • #15
                              hmm.. das ist ja doof..

                              wie hat man das den vorher gelöst? gibts da ne alternative dafür, die so ähnlich funktioniert?

                              Kommentar

                              Lädt...
                              X