Home  >  Article  >  Backend Development  >  PHP fgetcsv definition and usage (with compatibility issues under windows and linux)_PHP tutorial

PHP fgetcsv definition and usage (with compatibility issues under windows and linux)_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:18:41908browse

PHP fgetcsv definition and usage

 PHP fgetcsv() function reads a line from the file pointer and parses the CSV field.
Similar to PHP fgets(), except that PHP fgetcsv() parses the read line and finds the fields in CSV format, then returns an array containing these fields.

 fgetcsv() returns FALSE when an error occurs, including when the end of the file is encountered.

Note: As of PHP 4.3.5, the operation of PHP fgetcsv() is binary safe.

Grammar

fgetcsv(file,length,separator,enclosure)
Parameters Description
file Required. Specifies the documents to be checked.
length Optional. Specifies the maximum length of a line. Must be larger than the longest line in the CVS file.
参数 描述
file 必需。规定要检查的文件。
length 可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。
在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。
如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
enclosure 可选。设置字段环绕符(只允许一个字符),默认值为双引号。
该参数是在 PHP 4.3.0 中添加的。
This parameter is optional in PHP 5. Required before PHP 5. If this parameter is omitted (set to 0 in PHP 5.0.4 and later versions), there is no limit on the length, but it may affect execution efficiency.
separator Optional. Set field delimiter (only one character allowed), default is comma.
enclosure Optional. Set field wrap character (only one character allowed), default value is double quotes.
This parameter was added in PHP 4.3.0.
Tips and Notes


Note: Empty rows in the CSV file will be returned as an array containing a single null field , will not be treated as an error.
Note: This function is sensitive to locale settings. For example, if LANG is set to en_US.UTF-8, single-byte encoded files will have read errors.
Note: If you encounter that PHP cannot recognize the line ending characters of Macintosh files when reading the file, you can activate the auto_detect_line_endings runtime configuration option.
Example 1 Copy code
The code is as follows:


$file = fopen("contacts.csv","r");
print_r(fgetcsv($file));
fclose($file);
?>



CSV file:
George, John, Thomas, USA James, Adrew, Martin, USA
Output similar to:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA )
Example 2 Copy code
The code is as follows:


  $file = fopen("contacts.csv","r");
while(! feof($file)) { print_r(fgetcsv($file));
} fclose($file);
?>


CSV file:
  George, John, Thomas, USA James, Adrew, Martin, USA
Output similar to:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA Array ( [0] => James [1] => Adrew [2] => Martin [3] => USA )

Compatibility issues between windows and linux


A problem was reported today saying that fgetcsv processing under linux platform is available. At first, the data generation was thought to be a problem with the PHP version. In fact, it has nothing to do with the version. Colleagues who developed under window had no problem. However, colleagues who developed in their own notebooks, servers, and Linux systems all had problems with empty data

Google
Setting area: Simplified Chinese, UTF-8 encodingCopy the code
The code is as follows:

setlocale(LC_ALL, 'zh_CN.UTF-8');

http://www.bkjia.com/PHPjc/325433.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/325433.htmlTechArticle
PHP fgetcsv Definition and Usage PHP fgetcsv() function reads a line from the file pointer and parses the CSV field. Similar to PHP fgets(), except that PHP fgetcsv() parses the lines read in and finds out...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Study notes of php array_PHP tutorialNext article:Study notes of php array_PHP tutorial

Related articles

See more