Support » Plugins » wp_get_upload_dir() und MySQL CSV Import

  • Gelöst opflaum

    (@opflaum)


    Hi zusammen!

    Ich arbeite gerade an einem Admin-Plugin und möchte gerne einen CSV-Import stattfinden lassen. Die Datei wird nach dem Upload mit

    $usrFile = $_FILES['usrFile'];
        $uploaded = media_handle_upload('usrFile', 0);

    wunderbar auf den Server geladen. Nun benötige ich die Datei aber noch im gleichen Schritt in meinem Plugin für den Import in die Datenbank. Das versuche ich im Moment so:

    $dateipfad = wp_get_attachment_url($uploaded);
    $wpdb->query( "load data infile '".$dateipfad."' INTO TABLE <code>s2_vuser</code> FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES (<code>vuser_anrede</code>, <code>vuser_vorname</code>,<code>vuser_nachname</code>,<code>vuser_email</code>)" );

    Allerdings wird die Datei nicht importiert. Kann mir jemand weiterhelfen? Ich erhalte im Übrigen keinerlei Fehlermeldung und wenn ich den Dateipfad ausgeben lasse, erhalte ich:
    http://localhost/meinwp-pfad/wp-content/uploads/2019/07/import-7.csv

    Wäre super wenn mir jemand weiterhelfen kann. Vielen Dank im Voraus.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 1 Antwort (von insgesamt 1)
  • Thread-Starter opflaum

    (@opflaum)

    Ich habe es auch schon direkt so versucht:

    $usrFile = $_FILES['usrFile']['tmp_name'];
    $wpdb->query( "load data local infile '".$usrFile."' INTO TABLE s2_vuser FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES (vuser_anrede, vuser_vorname,vuser_nachname,vuser_email)" );

    Wenn ich dann $usrFile ausgebe erhalte ich:
    /Applications/XAMPP/xamppfiles/temp/phpKP4vbV

    Im Übrigen übergebe ich das Formular mit jQuery:

    $( document ).on("submit", "#myimportform", function(event) {
        event.preventDefault();
            
        var myform = document.getElementById("myimportform");
        var form_data = new FormData(myform);
        
        $.ajax({
            url: ajaxurl,
            type: 'POST',
            data: form_data,
            contentType:false,
            processData:false,
            cache: false,
            success: function(data) {
                console.log(data);
            }
        });
    });

    Dennoch wird die Datei einfach nicht importiert. Sie muss auch nicht auf dem Server gespeichert werden – es würde ausreichen sie einfach temporär zu importieren und dann zu löschen…..

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „wp_get_upload_dir() und MySQL CSV Import“ ist für neue Antworten geschlossen.