2013-10-13 3 views
0

Я пытаюсь импортировать CSV-файл в базу данных MySQL. Скрипты успешно выполняются с использованием нижеприведенного скрипта, но база данных была найдена пустой после успешного запуска. Пожалуйста, помогите, как я могу использовать загрузку данных в опции файла из-за ограничений сервера,PHP CSV import Issue

<?php 

include dbconf.php 
// 

if ($_FILES[csv][size] > 0) { 

//get the csv file 
$file = $_FILES[csv][tmp_name]; 
$handle = fopen($file,"r"); 

do { 
    if ($data[0]) { 
     mysql_query("INSERT INTO hrc (field0,field2,..,field19) VALUES 
      ( 

'".addslashes($data[0])."', 
'".addslashes($data[1])."', 
'".addslashes($data[2])."', 
'".addslashes($data[3])."', 
'".addslashes($data[4])."', 
'".addslashes($data[5])."', 
'".addslashes($data[6])."', 
'".addslashes($data[7])."', 
'".addslashes($data[8])."', 
'".addslashes($data[9])."', 
'".addslashes($data[10])."', 
'".addslashes($data[11])."', 
'".addslashes($data[12])."', 
'".addslashes($data[13])."', 
'".addslashes($data[14])."', 
'".addslashes($data[15])."', 
'".addslashes($data[16])."', 
'".addslashes($data[17])."', 
'".addslashes($data[18])."', 
'".addslashes($data[19])."' 



      ) 
     "); 
    } 
} while ($data = fgetcsv($handle,1000,",","'")); 


header('Location: import.php?success=1'); die; 

} 

?> 

ответ

0
Try this. 


set_time_limit(10000); 

ini_set('auto_detect_line_endings',TRUE); 

$csv_data=array(); 

$file_handle = fopen($_FILES['file_name']['tmp_name'], 'r'); 

while(($data = fgetcsv($file_handle)) !== FALSE){ 

$update_data= array('first'=>$data['0'], 
         'second'=>$data['1'], 
         'third'=>$data['2'], 
         'fourth'=>$data['34']); 

// save this array in your database 
} 

Thanks