csv to mysql mit php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
date
datei
dateiname
datenbank
datum
feucht druck
funktioniert url
grossen datei
idee
import
ordner
regen wind
schliessen
schnee
solar sonne
tag
tau
url
zeile
-
Hallo
ich habe eine tag/date">Datenbank, für jeden tag, in einer csv datein
nun lade ich bis zu 365 Tagesdetenbanken zu einer Jahresdatenbank in mysql.
Das problem ist das ich zu viel auf einmal mache. (Gateway Time-out)
Hat jemand eine idee wie ich das anpassen könnte?
<?php //Ordner mit Importdateien $dateiordner = "2015/tag"; //Anzahl Anfang Zeilen überspringen $startzeile = 1; //db verbindung $link = mysqli_connect("mysql.lima-city.de", "USER", "xxxxx", "db"); //verzeichnis scannen und dateinamen in array speichern $allFiles = scandir($dateiordner); //die foreach schleife foreach ($allFiles as $dateiname) { //jetzt wie bisher die Datei öffnen if (($handle = fopen("$dateiordner/$dateiname", "r")) !== FALSE) { //zeilenzähler auf 0 $counter = 0; //Jede Zeile abarbeiten while (($data = fgetcsv($handle, 10, ",")) !== FALSE) { //counter rauf $counter++; //erst ab dieser Zeile ausgeben if($counter >= $startzeile) { //die db query $query = "INSERT INTO wetter ('dateid', 'date', 'time', 'temp', 'feucht', 'druck', 'regen', 'wind', 'winddir', 'windb', 'windchill', 'uv', 'solar', 'sonne', 'sonnetag', 'tau', 'schnee') VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]') "; //db query noch ausführen mysqli_query($link,$query); } } //Import Datei schliessen fclose($handle); } } ?>
so kompliziert das ganze -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wenn du alle Daten in einer grossen Datei hast liegt bei mir zuhause ein Script, dass alle Daten Step by Step in deine Datenbank lädt.
Wenn du alle Dateien einzeln laden willst musst du wohl die Verbindungszeit zwischendurch immer wieder resetten. Ich hab den Befehl zwar schonmal irgendwo gelesen aber keine Ahnung ob das so einfach funktioniert.
http://php.net/manual/de/function.set-time-limit.php -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage