PHP fgetcsv() 函式從檔案指針中讀入一行並解析 CSV 欄位。
基本介紹
- 中文名:PHP fgetcsv
- 定義: 函式中讀入一行並解析 CSV 欄位
- 用法:出錯時返回 FALSE
- 注釋:PHP fgetcsv()
定義和用法,語法,提示和注釋,例子 1,例子 2,
定義和用法
與PHP fgets() 類似,不同的是 PHP fgetcsv() 解析讀入的行並找出 CSV 格式的欄位,然後返回一個包含這些欄位的數組。
fgetcsv() 出錯時返回 FALSE,包括碰到檔案結束時。
注釋:從 PHP 4.3.5 起,PHP fgetcsv() 的操作是二進制安全的。
語法
fgetcsv(file,length,separator,enclosure) |
參數 | 描述 |
file | 必需。規定要檢查的檔案。 |
length | 可選。規定行的最大長度。必須大於 CVS 檔案內最長的一行。 在 PHP 5 中該參數是可選的。在 PHP 5 之前是必需的。 如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那么長度就沒有限制,不過可能會影響執行效率。 |
separator | 可選。設定欄位分界符(只允許一個字元),默認值為逗號。 |
enclosure | 可選。設定欄位環繞符(只允許一個字元),默認值為雙引號。 該參數是在 PHP 4.3.0 中添加的。 |
提示和注釋
注釋:CSV 檔案中的空行將被返回為一個包含有單個 null 欄位的數組,不會被當成錯誤。
注釋:該函式對區域設定是敏感的。比如說 LANG 設為 en_US.UTF-8 的話,單位元組編碼的檔案就會出現讀取錯誤。
注釋:如果碰到 PHP 在讀取檔案時不能識別 Macintosh 檔案的行結束符,可以激活 auto_detect_line_endings 運行時配置選項。
例子 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?> |
CSV 檔案:
George, John, Thomas, USA James, Adrew, Martin, USA |
輸出類似:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA ) |
例子 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?> |
CSV 檔案:
George, John, Thomas, USA James, Adrew, Martin, USA |
輸出類似:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA Array ( [0] => James [1] => Adrew [2] => Martin [3] => USA ) |
PHP Filesystem 函式