php读取文件的方法

2025-09-24 17:15:47

1、为便于演示,我们首先准备一个供php语言进行读取的文件cfg.ini,放置在与测试网页test.php文件同一目录中,cfg.ini文件的主要内容如下图所示。

php读取文件的方法

2、下面我们正式开始用php语言来读取文件内容:我们先读取cfg.ini文件的全部内容,并将内部输出到网页上。主要实现代码如下:

<?php

        if (file_exists("cfg.ini")){

        $fop = fopen("cfg.ini","r");

                $allFileContent = fread($fop,filesize("cfg.ini"));

                echo str_replace("\n","<br/>",$allFileContent);

        }

?>

php读取文件的方法

3、其中fopen函数用来打开一个文件。php访问文件时,必须先打开文件,就好像要喝饮料,必须先打开瓶盖,同样的道理fopen函数就是用来打开文件的“瓶盖”。文件打开后,再用fread函数进行读取,fread函数主要有两个参数,第一个参数指定读取哪个打开的文件,第二个参数指定读取内容的多少,这里用filesize函数,表示读取整个文件。

保存后,在网页中浏览,效果如下所示:

php读取文件的方法

4、从上面可以知道,更改fread函数的第二个参数,可以控制每次读取文件内容的多少。如下面代码,我们可以每次只读取6个字节的内容,然后每次读取的内容用坚线“|”分隔后输入到网页上。

<?php

        if(file_exists("cfg.ini")){

                $fop = fopen("cfg.ini","r");

                while(!feof($fop)){

                        $fileContent=fread($fop,6);

                        $fileContent = str_replace("\n","<br/>",$fileContent);

                        echo $fileContent."\|";

                }

        }

?>

php读取文件的方法

5、第四步的代码跟第二步的代码,除去每次读取文件内容长度不同外,就是使用了while语句来循环读取内容了,直到feof函数返回true,也即读取到了文件末尾时停止读取。

代码运行效果如下图所示,可以看到网页上出现了乱码。这主要是由于我们每次只读取6个字节,造成部分字符被拆分而引起的。所以这种每次读取固定字节数据的方法一般只用在二进制文件处理上。

php读取文件的方法

6、我们还可以对文件进行整行读取,这样可以方便对每行内容进行单独处理。这种方法在处理文本文件时会经常用到,代码主要如下:

<?php

        if(file_exists("cfg.ini")){

                $fop = fopen("cfg.ini","r");

                $i=0;

                while(!feof($fop)){

                        $i +=1;

                        $lineStr = fgets($fop);

                        echo "第".$i."行:". $lineStr."<br/>";

                }

        }

?>

为了便于区分,我们加入记数变量i,用来标识每次读取的数据。

php读取文件的方法

7、保存后,重新刷新浏览器,可以看到运行效果如下图所示。这次代码中主要用到fgets函数,该函数用于从打开的文件中读取一行,它也有两个参数,第一个是指向一个已打开的文件,第二个表示读取一行时读取的最大长度,默认是1024个字节,即一行如果字节数超出第二个参数的大小,则只读取第二个参数大小的内容,否则读取整行内容。

php读取文件的方法

8、上面三种方法已经基本上能够满足大家的日常需要了,大家都弄明白了吧!如果有什么不清楚的,可以给我留言。

php读取文件的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢