Wissensdatenbank
1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Ist die Funktion LOAD DATA LOCAL INFILE auf dem Server verfügbar ?
Vondieser Änderung nicht betroffen sind Nutzer, die ihre CSV-Dateien über phpMyAdmin importieren (sofern sie nicht "CSV via LOAD DATA "aktiviert haben).
Die Funktion "LOAD DATA LOCAL INFILE" dient zum Import einer CSV-Datei in eine MySQL-Tabelle; leider wird sieinzwischen oft von Hackern missbraucht, um sich Zugang zu Websites aufServern, die diese Funktion bieten, zu verschaffen.
Wir bietennatürlich eine andere Lösung an, mit der auch weiterhin Dateien imFormat CSV in eine MySQL-Tabelle importiert werden können. Unten findenSie als Beispielein paar PHP-Zeilen, die ganz einfach inIhr PHP-Skript eingefügt werden können; Sie können natürlich auch eine neue PHP-Datei in Ihrem /web-Verzeichnis anlegen:
<?
// Derhier dargestelte Code ist lediglich ein Beispiel, damit Sie
// verstehen, wie Sie diese Funktionersetzen; Sie können natürlich eine
// eigene, effizientere Lösung zum Einfügenvon Daten entwickeln.
$Dateiname
// Lesezugriff auf die csv-Datei
$handle = fopen($Dateiname, "r");
if ($handle) {
// jede Zeile der csv-Datei zerlegen
while (($data = fgetcsv($handle, 1000, ";", """)) !== FALSE) {
$num = count($data)-1
// Generierung der SQL-Abfrage
$query = "INSERT INTO `test` VALUES ("
for ($c=0
$query .= "'" . mysql_real_escape_string($data[$c]) ."',"
}
// Einfügen der Zeile in die MySQL-Datenbank
$query = NULL;
}
// Schliessen der csv-Datei
fclose($handle);
} else {
echo "<p>Fehler: Datei kann nicht geöffnet werden.</p>\n";
exit(1
}
?>
Leider können wir nicht sagen,an welcher Stelle in Ihrem Skript diese Codezeilen einzufügen sind.Wenn Sie die richtige Stelle nicht finden, wenden Sie sich bitte an IhrenWebmaster oder einen unserer Partner auf dieser Seite: http://partenaires.infomaniak.com/appel-offres/. Wenn die angeboteneAlternative im Falle mehrerer csv-Dateien Probleme bereitet und am Endekeine Meldung ausgegeben wird, obwohl die Meldungen in der PHP-DateiManagement Points enthalten, sind die verwendeten Tabellen und Felder möglicherweise falsch indexiert. Wenden Sie sich in diesem ebenfalls an IhrenWebmaster.
Bitte beachten Sie auch die PHP-Dokumentation zufgetcsv : http://php.net/manual/de/function.fgetcsv.php
";
exit(1);
}
?>
Leider können wirnicht sagen, an welcher Stelle in Ihrem Skript diese Codezeilen einzufügen sind. Wenn Sie die richtige Stelle nicht finden, wenden Sie sich bittean Ihren Webmaster oder einen unserer Partner auf dieser Seite: http://partner.infomaniak.com/kostenvoranschlag/
Wenn dieangebotene Alternative im Falle mehrerer csv-Dateien Probleme bereitet undam Ende keine Meldung ausgegeben wird, obwohl die Meldungen in der PHP-DateiManagement Points enthalten, sind die verwendeten Tabellen und Felder möglicherweise falsch indexiert. Wenden Sie sich in diesem ebenfalls an IhrenWebmaster.
Bitte beachten Sie auch die PHP-Dokumentation zufgetcsv unter http://php.net/manual/de/function.fgetcsv.php
Link zu dieser FAQ: