Backslash in Slash umwandeln

Kalito

Erfahrenes Mitglied
Hallo,

ich habe eine kleines Programm geschrieben, wo man von seinem Rechner eine Datei angeben muss und diese soll dann in eine DB imporiert werden.

Hier der Code:

PHP:
<?php
   $server = 'localhost';
   $user = 'root';
   $passwort = '';
   $database = 'test';
   $file = $_POST['file'];


   if(isset($_POST['senden'])){
   $newfile =  str_replace('\\', '/', $file );
   echo $newfile;

    $verbindung = mysql_connect($server, $user, $passwort) or die ("Keine Verbindung m&ouml;glich");
    if($verbindung){
       mysql_select_db($database) or die ("Die Datenbank existiert nicht");

       $sql =  "LOAD DATA LOCAL INFILE '$newfile'
                INTO TABLE datenfeed
                FIELDS TERMINATED BY ';'
                ENCLOSED BY ''
                LINES TERMINATED BY ';' ";

                echo mysql_error();

       if($sql){
             $ergebnis = mysql_query($sql);
             echo mysql_error();

             mysql_query('DELETE FROM datenfeed WHERE product_id = 0');
          }
    }
   }

 ?>
HTML:
 htm<l>
 <body>
 <form method="post">
 <table>
 <tr>
 <td>Dateipfad</td>
 <td><input type="file" name="file" /></td>
 </tr>
 <tr>
 <td><input type="submit" name="senden" value="Senden"  /></td>
 </tr>
 </table>
 </form>
 </body>
 </html>


Wenn ich die Datei ausgeben lassen möchte zeigt er mir anstatt den vollen Pfad nur die Datei an sich an (webgains_datenfeed.csv) und die Datei wird auch nicht in die DB importiert. Alle teil funktionieren nur nicht diese Funktion :(

Danke
 
Hallo Kalito,

Wenn ich die Datei ausgeben lassen möchte zeigt er mir anstatt den vollen Pfad nur die Datei an sich an (webgains_datenfeed.csv) und die Datei wird auch nicht in die DB importiert. Alle teil funktionieren nur nicht diese Funktion :(

Also der Fehler liegt im MySQL-Skript? Dann würde ich dir ein gutes Tutorial empfehlen ;): Click!
 
@Tim Bureck: Du hast Recht!

Kalito, du musst noch das Attribut enctype beim Form-Tag hinzufügen:
HTML:
enctype="multipart/form-data"
Dieses Attribut ist für Fileuploads nötig.

Sonst passiert folgendes laut SelfHTML:
SelfHTML hat gesagt.:
Andernfalls erhalten Sie lediglich den Dateinamen der ausgewählten Datei übermittelt, nicht jedoch die Datei selbst.
Genau dein Problem!
 
Zurück