2011-11-12 11 views
4

fgetCsv를 사용하려고하지만 어떤 이유로 첫 번째 행만 읽으려고합니다. 코드는 다음과 같습니다.fGetCsv는 첫 번째 행만 읽습니까?

$fieldseparator = ","; 
$lineseparator = "\r"; 


if(!file_exists($csvFile)) { 
    echo "<div id='error'>Cannot find uploaded file. Please try again</div>"; 
    exit; 
} 

$file = fopen($csvFile,"r"); 

if(!$file) { 
    echo "<div id='error'>Error loading CSV file</div>"; 
    exit; 
} 

$size = filesize($csvFile); 
if(!$size) { 
    echo "<div id='warning'>File is empty</div>"; 
    exit; 
} 

$query = ""; 
$content = fgetcsv($file,$size,$lineseparator); 


fclose($file); 

foreach($content as $data) { 
     $values = explode($fieldseparator,$data); 
     $query[$i] = "('".implode("','",$values)."')"; 
} 

이 코드는 한 줄을 출력합니다. CSV 파일은 다음과 같습니다.

TSE-P01,1,WO47653897,RM,EcoQuiet,1 
TSE-P02,1,WO47653898,RM,EcoQuiet,1 
TSE-P03,1,WO47653899,RM,EcoQuiet,1 
TSE-P04,1,WO47653900,RM,EcoQuiet,1 
TSE-P05,1,WO47653901,RM,EcoQuiet,1 
TSE-P06,1,WO47653902,RM,EcoQuiet,1 
TSE-P07,1,WO47653903,RM,EcoQuiet,1 
TSE-P08,1,WO47653904,RM,EcoQuiet,1 

왜 이런 일이 벌어 질 수 있습니까? the docs에서

답변

9

:

fgetcsv는 - 파일 포인터에서 라인를 가져옵니다 당신은 당신이 한 번 이상 호출 할 필요가 다음 한 줄 이상을 원하는 경우 CSV 필드

에 대한 구문 분석합니다.

5

이 예는 .. .. 또는

while 루프 전체 파일을 통해 코드의 반복/모든 라인을 사용하여 W3 스쿨 http://www.w3schools.com/php/func_filesystem_fgetcsv.asp

$file = fopen("contacts.csv","r"); 

while(!feof($file)) 
    { 
    print_r(fgetcsv($file)); 
    } 

fclose($file); 

에서 "예 2"당신이 뭔가를 할 경우 그런 ..

print_r(fgetcsv($file)); 
print_r(fgetcsv($file)); 
print_r(fgetcsv($file)); 

이 ..

만 제 3 개 라인을 인쇄 할