Я пытаюсь импортировать файлы csv в свою таблицу. Поиск в Интернете, я нашел код, который работает и что я изменил, основываясь на моих потребностях.Импортировать несколько файлов с помощью php
К сожалению, он работает только при вставке одного файла. Я также попытался отредактировать его, но он просто вставляет последний файл, который находится в каталоге. Любая помощь будет высоко ценится.
//get the csv file
$dir = "Files/";
$currentFile = glob($dir."*.csv");
$counter = count($currentFile);
foreach ($currentFile as $filename) {
$handle = fopen($filename,"r");
}
$file = basename($filename);
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO tblCoordinates (gps_id,lat,lng,time,cmt,cnt,cty,str,cde,lnt,hgt,name) VALUES
(
'$file',
'".mysql_real_escape_string($data[0])."',
'".mysql_real_escape_string($data[1])."',
'".mysql_real_escape_string($data[2])."',
'".mysql_real_escape_string($data[3])."',
'".mysql_real_escape_string($data[4])."',
'".mysql_real_escape_string($data[5])."',
'".mysql_real_escape_string($data[6])."',
'".mysql_real_escape_string($data[7])."',
'".mysql_real_escape_string($data[8])."',
'".mysql_real_escape_string($data[9])."',
'".mysql_real_escape_string($data[10])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
//
в $ счетчик действительно говорит, что у меня есть 4 файла в моем $dir
, который является истинным и имена файлов "5729.csv", "4563.csv", "8718.csv", "4494.csv"
.
Моя проблема: код вставляет только последний файл «4494.csv». Как я могу вставить все файлы?
Вы закрываете свой 'foreach' петлю слишком рано. – MaggsWeb
спасибо. сделано и работает. можете ли вы опубликовать это как ответ, чтобы я мог его пометить? снова спасибо – user3201441