PHP fgetcsv 定義和用法(附windows與linux下相容問題)_php技巧

來源:互聯網
上載者:User
PHP fgetcsv 定義和用法

  PHP fgetcsv() 函數從檔案指標中讀入一行並解析 CSV 欄位。
  與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 )

windows與linux下相容問題

今天有問題報過來說linux平台下 fgetcsv處理的有空資料產生起初以為中php版本問題,其實和版本沒有關係 在window下開發的同事都沒有問題,而自己的本本和伺服器上,和使用linux系統的同事 都出現空資料的問題

google一下

設定地區:簡體中文,UTF-8編碼
複製代碼 代碼如下:

setlocale(LC_ALL, 'zh_CN.UTF-8');
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.