Dateneinspielung

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

  • Dateneinspielung

    Hab' hier 'ne wunderschöne Möglichkeit, um Daten aus einer csv-Datei auszulesen und in eine vorher definierte MySQL-Tabelle hineinzuschreiben.
    Mein Problem ist, daß die einzulesende csv-Datei auf dem Server liegen muß. Infolgedessen muß ich die Datei immer erst auf den Server hochladen.
    Wie müsste ich das nachfolgende Script modifizieren, damit ich eine lokal gespeicherte Datei (auf meinem Rechner) einlesen kann. Früher hab' ich das Ganze immer über PHPMyAdmin (...load data local infile...) gemacht. Mein Provider hat diese Option aber seit kurzem deaktiviert. Oder gibt es vielleicht noch 'ne bessere Möglichkeit, um lokale .txt oder .csv - Dateien in eine MySQL-Tabelle über's Netz einzuspielen. Wär' euch dankbar für 'ne Lösung !


    <?php

    //THE NAME OF YOUR MYSQL DATABASE
    $mydatabase = "xxx";

    //THE NAME OF YOUR MYSQL TABLE
    $mytable = "xxx";

    //YOUR USERNAME TO ACCESS MYSQL
    $user = "xxx";

    //YOUR PASSWORD TO ACCESS MYSQL
    $pass ="xxx";

    //THE ADDRESS OF YOUR MYSQL SERVER
    $address ="xxx";

    //CSV/TXT FILE THAT YOU WISH TO CONVERT
    $CSV = "niv_dritt.csv";

    //TYPES OF FIELD SEPERATORS
    //COMMA ,
    //TAB \t
    //COLON :
    //SEMI-COLON ;

    //YOUR CSV/TXT FILE SEPERATOR
    $seperator = ",";

    $noconnection = "Error: Could not connect to database. Please try again later!";
    $notentered = "You have not entered all the required details.<br>"
    ."Please go back and try again.";


    @ $db = mysql_pconnect("$address", "$user", "$pass");

    if (!$db)
    {
    echo "$noconnection<p>";

    }


    mysql_select_db($mydatabase);

    $openit = file($CSV);
    $counter = count($openit);

    $filearray = file("$CSV");

    echo "<center><font face=arial size=3>Daten einspielen ...</font></center><p>";
    for($i=0; $i<$counter; $i++)

    {

    $item = explode("$seperator", $filearray[$i]);


    include("query.inc");
    $result = mysql_query($query);

    if ($result)
    {
    echo $effected_item." <font color=blue>has been added</font><br>\n";
    }
    else
    {
    echo $effected_item." <font color=red>NOT ADDED</font><br>\n";
    }

    }




    ?>

  • #2
    Ich glaub MyAdmin geht hin und speichert die Datei temporär auf dem Server und löscht sie nach dem Einlesen wieder. So könntest du das auch machen.

    Kommentar


    • #3
      Nee,

      ich sagte doch schon, daß es mit PHPMyAdmin nicht mehr geht. Also kann ich es ja wohl auch nicht so machen wie es PHPMyAdmin macht !

      Kommentar


      • #4
        was sagt denn deine PHP Info zum Fileupload?

        Kommentar


        • #5
          file_upload funktioniert ! (http://www.rok.formativ.net/phpinfo.php )
          Aber ich will ja eben nicht jedesmal erst die Datei uppen müssen.

          Kommentar


          • #6
            Hat denn keiner 'ne Idee ???
            Wo sind denn die Profis ???

            Kommentar


            • #7
              wie schon TobiaZ gesagt ähm geschrieben hat.

              - datei hochladen. (mit maske, wie bei phpMyAdmin)
              - und in die DB einlesen.

              dein script braucht ja nur den path. also bastelst du dir nur ein script, um eine datei auf den server zu laden. (habe ich hier schon im forum gesehen)
              dann hast du die datei auf dem server in einem temp-verzeichnis.
              dann einfach einlesen und die datei wieder löschen.
              so ist es für dich als nutzer so, wie du es vorher in phpMyAdmin gemacht hast.

              komm jetzt nicht mit 'das geht nicht mehr'

              sobald du eine datei auf den server laden kannst, hast du diese im temp-verzeichnis. dann kannst du dein script damit füttern und gut ist.

              ich hatte übrigens auch mal das problem, dass mit einer neueren version von phpMyAdmin es nicht möglich war, dateien hochzuladen. in der älteren version ging es. weiss zwar nicht mehr, was ich gemacht hab, aber es ging dann.

              also upload-script hier suchen, und schon klappts......
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar

              Lädt...
              X