hallo
ich habe einen shop und versuche verzweifelt eine csv datei in sql zulesen.
hierzu benutze ich ein eigenes uploadscript das danach die csv in die datenbank liest.
meine upload.php
Code:
<?php
if (isset($_REQUEST['los'])) {
$size = $_FILES['datei']['size']; // Größe der Datei
$name = $_FILES['datei']['name']; // Der Originalname
$type = $_FILES['datei']['type']; // Der MIME Type der Datei
$tmpname = $_FILES['datei']['tmp_name'];
$name2 = "afs.CSV";
$fullname = $path . $name2;
if(eregi("(jpg|gif|txt|htm|html|csv)$",$name)) {
if($size<800000 AND $size!=0) {
move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
// Kopiert das Bild
echo "<br><br>Die Datei erfolgreich hochgeladen.<br>";
echo "Größe: ".$size." Byte<br>";
echo "Name: ".$name."<br>";
echo "MIME-Type: ".$type."<br>";
echo "Ansehen: <a href='../../shop/admin/upload/afs.CSV'>".$name."</a>";
print "<br><br>
<table bgcolor=#fff5d7><tr><td>
<a href=\"import.php?csv=$tmpname\"><b>Daten importieren</b></a>
</td></tr></table>";
}
else {
echo "Ihre Datei ist über 200 KB oder gleich 0";
}
}
else {
echo "Falsche Erweiterung: ".$name;
}
}
das uploaden funktioniert bestens nur leider macht er mir nicht die csv in die datenbank mit der import.php
Code:
<?
require_once('_left2.php3');
$db_hostname = 'localhost';
$db_user = 'user';
$db_pass = 'passwort';
$database = 'db62980001';
$table = "shop_artikel";
$csv = 'upload/afs.CSV';
#$csv = $HTTP_GET_VARS['csv'];
if (!file_exists($csv)) die("Unable to connect to the File ($csv)...");
mysql_connect($db_hostname,$db_user,$db_pass) or
die("Unable to connect to the SQL server...");
mysql_select_db($database);
$query_del="delete from $table";
$ergebnis_del=mysql_query($query_del);
$query_text .= "LOAD DATA LOCAL INFILE '$csv' INTO TABLE $table FIELDS TERMINATED BY ';' IGNORE 1 LINES";
mysql_db_query($database, $query_text) OR DIE("<b>Error in query:</b> " . $query_text . "<br><b>mySQL-Server's comment</b>: " . mysql_error());
$query2 = "select * from $table";
$result2 = mysql_query($query2);
$num_artikel2 = mysql_num_rows($result2);
$z = 0;
while($z < $num_artikel2) {
$nummer2 = mysql_result($result2,$z,"Artikelnummer");
$name = mysql_result($result2,$z,"Bezeichnung");
$bild = mysql_result($result2,$z,"Bild");
$eintrag = str_replace("S:Eigene BildergeschäftBildshop","",$bild);
$vk1 = mysql_result($result2,$z,"VK1");
$vk3 = mysql_result($result2,$z,"VK3");
$vk4 = mysql_result($result2,$z,"VK4");
$vk5 = mysql_result($result2,$z,"VK5");
$vk3_zw = str_replace(",",".",$vk3);
$vk4_zw = str_replace(",",".",$vk4);
$vk5_zw = str_replace(",",".",$vk5);
$vk3_netto = $vk3_zw/1.16 ;
$vk4_netto = $vk4_zw/1.16 ;
$vk5_netto = $vk5_zw/1.16 ;
$vk1_netto = str_replace(",",".",$vk1);
echo "<b>$name</b> ($eintrag)<br><br>
<b>VK3</b>        Artikel-Nr: $nummer2    Brotto: $vk3    Netto: $vk3_netto<br>
<b>VK4</b>        Artikel-Nr: $nummer2    Brotto: $vk4    Netto: $vk4_netto<br>
<b>VK5</b>        Artikel-Nr: $nummer2    Brotto: $vk5    Netto: $vk5_netto<br><hr><br>
";
$sql2="UPDATE $table set Bild='$eintrag', VK1 = '$vk1_netto', VK3 = '$vk3_netto', VK4 = '$vk4_netto', VK5 = '$vk5_netto' where Artikelnummer='$nummer2'";
$res2=mysql_query ($sql2);
$z++;
}
print"<br><br><br><br>Daten wurden erfolgreich importiert und umgewandelt<br><br>";
?>
er bringt immer den fehler
Error in query: LOAD DATA LOCAL INFILE 'upload/afs.CSV' INTO TABLE shop_artikel FIELDS TERMINATED BY ';' IGNORE 1 LINES
mySQL-Server's comment: File 'upload\afs.CSV' not found (Errcode: 2)
aber die datei ist da
meine csv datei
Code:
Artikelnummer;Bezeichnung;Bezeichnung_1;Langtext;VK1;VK3;VK4;VK5;Bild;Bestand;Bruttogewicht;Zusatznummer;Lieferbar;Werbetext;Bemerkung;
1;Test Artikel;Testgruppe;Ich bin ein Test;49,938;;;51,156;;0;;;;;;
danke für die hielfe