fopen()函数
使用方法:
fopen(filename,mode,include_path,context)
filename:必需。规定要打开的文件或 URL。
mode:必需。规定要求到该文件/流的访问类型。
include_path:可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或TRUE。
context:可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。
这些都可以在w3c上查到就不详细写了,这边写一下我自己对feof(),fgets()和fgetcsv()试验。
feof():如果文件指针指到了EOF或者出错时返回TURE,否则返回一个错误(包括socket超时),其它情况则返回false。
这个函数对遍历长度未知的数据很有用。如果服务器没有关闭由fsokopen()所打开的链接,feof()会一直等到超时而返回true。默认超时时间为60秒。
例子:
$file = fopen("test.txt","r");
while(!feof($file))
{
echo fgets($file)."<br/>"
}
fgets():从file指向的文件中读取一行并返回长度最多为length-1字节的字符串。碰到换行符、EOF或者已经读取了length-1字节后停止。如果没有指定length,则默认为1k。(注:file,length为函数所传参数)。
例1:
<?php
$file=fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
输出类似:
Hello,this is a test file.
例2:
<?php
$file=fopen("test.txt","r");
while(!feof($file))
{
echo fgets($file)."<br/>";
}
fclose($file);
?>
输出类似:
Hello,this is a test file.
There are three lines here.
This is the last line.
fgetss():其它和fgets()函数基本一样,唯独多了一个过滤html标签的功能。
fgetscv():从文件中读入一行并解析成csv字段。与fgets()类似,不同的是fgetcsv()解析读入的行并找出csv格式的字段,然后返回一个包含这些字段的数组。
注:csv文件中的空行将返回一个包含有单个null字段的数组,不会被当成错误。
csv文件:
1,2,3
2,3,4,6
例1:
<?php
$file=fopen("test.csv","r");
print_r(fgetcsv($file));
fclose($file);
?>
输出类似:
array(
[0]=>1,
[1]=>2,
[2]=>3
)
例2:
<?php
$file=fopen("test.csv","r");
while(!feof($file)){
print_r(fgetcsv($file));
}
fclose($file);
?>
输出类似:
array(
[0]=>1,
[1]=>2,
[2]=>3
)
array(
[0]=>2,
[1]=>3,
[2]=>4,
[3]=>6,
)
本文介绍了PHP中的fopen(), fgets(), feof() 和 fgetcsv() 函数的使用方法及示例,展示了如何打开文件、判断文件末尾、读取文件内容及解析CSV文件。
246

被折叠的 条评论
为什么被折叠?



