2012-07-24 42 views
1

我有一個csv excel文件,有2列值:緯度和經度。我需要分別訪問每個單獨的經度和緯度值。fgetcsv的問題

但我甚至無法正確讀取到一個數組的csv文件。由於我使用的是Mac,我開始:

ini_set("auto_detect_line_endings", true); 
$handle = fopen("countlook.csv", "r"); 
$data = fgetcsv($handle, 100000, ","); 

其中沒有任何實際價值只返回第一行(列標題)「經緯度」。

不知道我要去哪裏錯了。任何建議將非常受歡迎。

回答

0

嘗試以下操作:

if (($handle = fopen($_FILES["file"]["tmp_name"], "r")) !== FALSE) { 
    $data = array(); 
    while (($rawdata = fgetcsv($handle, 0, $delimiter)) !== FALSE) { 
     for ($i=0; $i < count($rawdata); $i++) { 
       $data[$i][] = trim($rawdata[$i]); 
     } 
    } 
    fclose($handle); 
    var_dump($data) 
} 
1

fgetcsv逐行讀取文件中的行,所以它的重要,把它放在一個循環來獲取所有數據。

$headers = array(); 
$rows = array(); 
$c = 0; 
while ($data = fgetcsv($handle, 0, ",")) { 

     if ($c == 0) { 
      $headers = $data; 

     } else { 
      $rows[] = $data; 
     } 

     $C++; 
    } 
fclose($handle); 

您現在應該在headers變量中包含標題,並在rows變量中包含所有數據。