2013-10-13 5 views
0

MySQL 데이터베이스에서 CSV 파일을 가져 오려고합니다. 아래 언급 스크립트를 사용하여 스크립트가 성공적으로 실행되었지만 성공적으로 실행 된 후에 데이터베이스가 비어있는 것으로 나타납니다. 내가 인해 서버 제한 파일 옵션에 부하 데이터를 사용하지 못할 같이 도와주세요PHP CSV 가져 오기

<?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