php文件操作之逐个字符读取文件
在之前的文章《php文件操作之什么是文件模式?如何改变文件模式?》中,我们简单了解了文件模式,介绍了利用chmod()函数改变文件模式的方法。本篇文章我们来给大家介绍一种读取文件的方法–逐个字符读取文件,一起来学习吧!
文件读写是程序开发中最基本的操作之一,在实际开发中经常需要从文件中读取数据,或者向文件中写人数据;所以掌握文件读写操作是十分重要的。今天我们先来了解一下从文件中读取一个字符,如何逐个字符读取文件。在之后的文章中我们来慢慢介绍其他操作。
好了,进入主题!
我们有一个名为“test.txt”的文本文件,里面的内容为:
如何逐个字符的读取文件中的内容并输出?我们直接上代码,来看看:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetc($handle))) { //循环读取文件内容 echo $char; } fclose($handle); //关闭文件 ?>
输出结果:
是不是很简单!下面简析几个关键的函数:
-
fopen()
函数:以指定文件模式来打开文件或者 URL。如果打开成功,则返回文件指针资源;如果打开失败则返回 FALSE。例如“fopen('./test.txt', 'r')
”就是以只读模式打开test.txt文件。该函数需要两个参数:$filename和$mode。$filename规定要打开的文件或 URL;而$mode用来设置文件的打开方式(文件模式)。
$mode可设置的值:
r:只读模式,以只读方式打开文件(该文件必须存在);从文件的开头开始操作。
r+:读写模式,以读写方式打开文件(该文件必须存在);从文件的开头开始操作。
w:只写模式,以只写方式打开文件。会打开并清空文件的内容;如果文件不存在,则创建新文件。
w+:读写模式,以读写方式打开文件。和r+模式不一样得是:该模式会打开并清空文件的内容;如果文件不存在,则创建新文件。
a:追加模式,向文件末尾写内容。如果文件不存在,则创建新文件。
a+:读/追加模式,从文件的末尾开始操作,可以向文件末尾写内容。如果文件不存在,则创建新文件。
x:只写模式,创建新文件,并以写入方式打开;如果文件已存在则返回 FALSE 和一个错误。
x+:读写模式,创建新文件,并以读写方式打开;如果文件已存在则返回 FALSE 和一个错误。
c:只写模式。打开文件进行写入,如果文件不存在,则创建该文件。如果文件存在,不会清空文件内容,并将文件指针指向文件头。
c+:读写模式。打开文件进行读写,如果文件不存在,则创建该文件。如果文件存在,不会清空文件内容,并将文件指针指向文件头。
-
fgetc()
函数:可以从打开的文件中返回一个包含有一个字符的字符串,当碰到 EOF 时返回 FALSE。 -
fclose()
函数:可以关闭打开的文件,成功时返回 TRUE,失败则返回 FALSE。在操作完文件后,要记得使用fclose()函数来关闭文件!
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP文件基础操作