PHP 如何解析 CSV 文件
CSV 是一种文件类型。它表示逗号分隔的值 – Comma Separated Values
的首字母缩写。通常在其他软件(例如 Excel)中使用。这样可以将数据以表格格式保存,扩展名为 .csv
。
要使用 PHP 解析 CSV 文件,可以使用 PHP 内置的 fopen()
,fgetcsv()
和 fclose()
函数的组合来完成。
例:
/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
$total = count($record);
echo "<p> $total fields in line $row: <br /></p>\n";
$ctr++;
for ($x = 0; $x < $ctr; $x++) {
echo $record[$x] . "<br />\n";
}
}
fclose($file);
}
//output:
/*
4 fields in line 1:
dog
cat
3 fields in line 2:
horse
cow
carabao
3 fields in line 3:
bird
rabbit
chicken
*/
上面的示例使用以下函数解析了 sampleFile.csv
的内容:
fopen(Filename, Mode, Include_path, context)
此函数接受 URL 或文件,将文件名指定的命名资源绑定到流。
参数:
-
Filename
(必需)-此参数指定要打开的文件或 URL -
Mode
(必需)-这表示你需要访问文件的类型。 -
Include_path
(可选)-将此参数设置为1
时,也会在include_path
中寻找文件。 -
context
(可选)-这指定文件句柄的内容。这是一组选项,可以根据流的行为进行更新。
fgetcsv(File, Length, Separator, Enclosure, Escape)
此函数负责从打开的 CSV 文件中解析行。
参数:
-
File
(必需)-此参数指定打开的文件。 -
Length
(在 PHP 5 和更低版本上是可选的,但在 PHP 5.1 和更高版本上是必需的)-此参数是该行的最大长度。该长度必须大于文件中的最长行。如果参数没有指定,则长度不受限制,但会使得解析速度较慢。 -
Separator
(可选)-此参数是字段分隔符,默认值是逗号,
。 -
Enclosure
(可选)-此参数是字段Enclosure
,默认值为"
。 -
Escape
(可选)-此参数是转义符,默认值为\\
。
fclose($File)
此函数关闭打开的文件指针。
参数:
-
File
(必需)-指定要关闭的文件。
注意
文件指针必须是有效的,并且必须指向由
fopen()
成功打开的文件。声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。