PHP读取文件函数汇总(附带实例)
打开文件后,可以使用 PHP 内置函数来读取文件中的数据。这些函数不仅可以一次只读取一个字符,还可以一次性读取整个文件。
读取文件相关的 PHP 内置函数如下表所示:
如何修改代码才能达到换行显示内容的效果呢?
【实例 3】file_get_contents() 函数配合 explode() 函数,实现文件内容换行显示。
【实例 4】读取文件的内容。
【实例 5】fgetc()函数的应用。
【实例 6】fgets() 函数的应用。
【实例 7】fgetss() 函数的应用。
读取文件相关的 PHP 内置函数如下表所示:
函数名称 | 说明 |
---|---|
file() | 把整个文件读入一个数组,各元素由换行符分隔 |
file_get_contents() | 把整个文件读入一个字符串 |
fread() | 可以规定读取几个字符 |
fgetc() | 读取一个字符 |
fgets() | 读取一行字符串 |
fgetss() | 读取一行字符串,并自动过滤 HTML 和 PHP 标记 |
PHP file()函数
该函数的基本语法如下:array file(string filename[,int use_include_path[,resource context]])【实例 1】file() 函数的应用。
<?php $filename="readme"; if(file_exists($filename)) { $a=file($filename); foreach($a as $num=> $value) echo $num."=>".$value."< br />"; } else echo "该文件不存在"; ?>运行结果为:
0=>1.test
1=>2.测试文件
PHP file_get_contents()函数
该函数的基本语法如下:string file_get_contents(string filenae[,int use_include_path[,resource context[,int offset[,int maxlen]]]])【实例 2】file_get_contents() 函数的应用。
<?php $filename="readme"; if(file_exists($filename)) { $a=file_get_contents($filename); echo $a; } else echo "该文件不存在"; ?>运行结果为:
1.test 2.测试文件
从运行结果可以看出,虽然使用 file_get_contents() 函数也可以读取文件内容,但是它将所有文件内容显示在同一行,未进行换行显示。如何修改代码才能达到换行显示内容的效果呢?
【实例 3】file_get_contents() 函数配合 explode() 函数,实现文件内容换行显示。
<?php $filename="readme"; if(file_exists($filename)) { $a=file_get_contents($filename); $b=explode("\n",$a); foreach($b as $num=> $value) echo $num."=>".$value."<br />"; } else echo "该文件不存在"; ?>在浏览器上的输出结果为:
0=>1.test
1=>2.测试文件
PHP fread()函数
该函数的基本语法如下:fread(int handle, int length)该函数从文件指针 handle 指向的内存处最多读取 length 字节。
【实例 4】读取文件的内容。
<?php $filename="readme"; if(file_exists($filename)) { $handle=fopen($filename,"r"); $a=fread($handle,filesize($filename)); echo $a; fclose($handle); } else echo "该文件不存在"; ?>在上述代码中,必须先使用 fopen() 函数打开文件,再使 filesize() 函数读取文件的字节数,最后使用 fread() 函数读取文件内容。
PHP fgetc()函数
该函数的基本语法如下:string fgetc ( resource $handle )
【实例 5】fgetc()函数的应用。
<?php $fp = fopen('readme.txt', 'r'); echo fgetc($fp); ?>运行结果为:
1
PHP fgets()函数
该函数的基本语法如下:string fgets ( int $handle [, int $length ] )从 handle 指向的文件中读取一行字符串并返回长度最多为 length−1 字节的字符串。碰到换行符(包括在返回值中)、EOF(文件结束标志)或在读取了 length−1 字节后停止。如果没有指定 length 参数的值,则默认为 1024 字节。该函数在出错时返回 FALSE。
【实例 6】fgets() 函数的应用。
<?php $fp = fopen('readme', 'r'); echo fgets($fp); ?>运行结果为:
1.test
PHP fgetss()函数
该函数的基本语法如下:string fgetss( resource $handle [, int $length [, string $allowable_tags ]] )和 fgets() 函数的不同之处在于,fgetss() 函数尝试从读取的文本中去除 HTML 和 PHP 标记。读者可以用可选的第 3 个参数指定哪些标记不被去除。
【实例 7】fgetss() 函数的应用。
<?php $fp = fopen('readme', 'r'); echo fgetss($fp); ?>