Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei Uploaden & Parsen

Einklappen

Neue Werbung 2019

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

  • Datei Uploaden & Parsen

    Hallo,

    Ich habe ein Programm (VB) geschrieben, dass Messwerte aus einer MySql datenbank ausliest und auswertet. Mein Problem ist nun: Der Benutzer soll die Daten mittels Webinterface uploaden und ein PHP Script soll diese Datei anschließend Parsen und in die Datenbank schreiben...

    Da ich absolut keine Ahnung von PHP habe, wollte ich fragen, ob mir jemand dabei helfen könnte?

    Vielen Dank!
    Gruß,
    C


  • #2
    Was meinst du mit parsen? Falsche Werte abfangen (validieren)?
    Wie kommen die Daten an, per Datei (welches Format, CSV), Formular, ..?

    Ich denke dir die Lösung schreiben wird niemand, da musst du wohl oder übel selbst ein bißchen PHP lernen müssen. Aber PHP ist relativ einfach und wenn du nicht nach jeder Fehlermeldung deren Ursache du in 1 Minute über Google finden könntest hier postest, helfen wir dir gern.

    Soll keine Arroganz, ein Witz oder Bezug auf dein jetztiges Posting sein aber kurz das hier überfliegen:
    http://www.lugbz.org/documents/smart...de.html#before
    Ich würde sagen, sobald du bei Punkt 4 wirklich scheiterst, biste hier willkommen

    Kommentar


    • #3
      würde es dir nicht reichen, wenn du aus vb raus direkt in die db einträgst? dann sparst du dir das uploaden durch den benutzer und das parsen durch php.

      Kommentar


      • #4
        Ne, es geht ja darum, dass es der user von überall her uploaden kann.

        Ich hab jetzt ein bisschen mit PHP herumgespielt und einige sachen bereits geschafft:

        Code:
        <form enctype="multipart/form-data" action="upload.php" method="post">
            <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
            Mapfile zum Upload: <input name="userfile" type="file" />
            <input type="submit" value="Upload File" />
        </form>
        ... lädt die datei hinauf


        und das sollte die datei parsen und in eine variable laden:


        PHP-Code:
        <?php
        <?php
        $uploadDir 
        '/temp/';
        $uploadFile $uploadDir $_FILES['userfile']['name'];
        print 
        "<pre>";
        if (
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))
        {
            
        //print $uploadfile;
            
        print "Datei ok! Processing:...";
                
        $i=0;
                
        $data=array();
                
        $fp=fopen$uploadFile,"r") || die ("Fehler beim oeffnen der Datei!");
                while(!
        feof($fp))
                    {
                    
        $buffer=fgets($fp,512);
                    
        $data[$i]=explode("|",$buffer);
                    
        $i++;
                    }
                
        fclose($fp);
        }
        else
        {
            print 
        "Debug:\n";
            
        print_r($_FILES);
        }
        print 
        "</pre>";



        ?>

        ?>
        Allerdings hängt sich dieses script immer auf und bekommt ein timeout...

        kann mir da jemand weiterhelfen?

        Kommentar


        • #5
          Also die Datei sieht so aus:

          info1|info2|wert
          info1|info2|wert
          info1|info2|wert


          und dass array sollte dann so aussehen:

          $data [0][0] = info1
          $data [0][1] = info2
          $data [1][0] = info1

          tut es aber nicht... woran scheitert das? Ist der Buffer zu groß?

          Kommentar


          • #6
            Hallo,
            schau dir mal das an
            http://de2.php.net/fgetcsv
            Das dürfte zumindest das Einlesen komfortabler machen.

            Kommentar


            • #7
              Ja, danke für den Link... aber die Dateien müssen das oben angegebene Format behalten....

              Hat wirklich niemand ahnung, warum der Code nicht funtkioniert.

              Kommentar


              • #8
                Hast dir den Link ja garnicht angeschaut! CSV muss nicht unbedingt Comma Separated Values heißen.
                Übrigens, wenn es sich aufhängt ist wohl die while()-Bedingung immer positiv, mach halt ein

                PHP-Code:
                <?php
                if ($i 1000) {
                  break;
                }
                ?>
                Wieviele Zeilen hat denn deine Datei?

                Kommentar

                Lädt...
                X