php文件操作之逐个字符读取文件

在之前的文章《php文件操作之什么是文件模式?如何改变文件模式?》中,我们简单了解了文件模式,介绍了利用chmod()函数改变文件模式的方法。本篇文章我们来给大家介绍一种读取文件的方法--逐个字符读取文件,一起来学习吧!

文件读写是程序开发中最基本的操作之一,在实际开发中经常需要从文件中读取数据,或者向文件中写人数据;所以掌握文件读写操作是十分重要的。今天我们先来了解一下从文件中读取一个字符,如何逐个字符读取文件。在之后的文章中我们来慢慢介绍其他操作。

好了,进入主题!

我们有一个名为“test.txt”的文本文件,里面的内容为:

1.png

如何逐个字符的读取文件中的内容并输出?我们直接上代码,来看看:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgetc($handle))) {        //循环读取文件内容
    echo $char;
}
fclose($handle);                                    //关闭文件
?>

输出结果:

2.png

是不是很简单!下面简析几个关键的函数:

  • 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文件基础操作

以上就是php文件操作之逐个字符读取文件的详细内容,更多请关注其它相关文章!