首页 >后端开发 >php教程 >php 文件读取系列方法详解

php 文件读取系列方法详解

怪我咯
怪我咯原创
2017-07-11 09:58:402583浏览

在上一篇PHP教程中介绍了如何利用PHP实现文件读写操作中的文件写入功能,接下来和大家分享PHP文件读取功能的应用实例,PHP文件读取操作相对于文件写入操作涉及更多的PHP文件操作函数,在代码实例中会详细介绍这些函数。

读取文本文件中存储数据的方式主要涉及的三个步骤及部分文件操作函数如下:

1、打开文件(文件操作函数:fopen)

2、文件数据读取(文件操作函数:fgets、file、readfile、feof等)

3、关闭文件(文件操作函数:fclose)

下面仍然以PHP文件读写操作代码实例讲解文件读取方法的具体应用,在实例中,通过调用不同的PHP文件读取操作函数读取文本文件中的数据,你可以加深PHP文件读取操作函数的理解,以便在PHP网站开发中合理应用。文本文件中写入的数据来自于PHP文件读写操作之文件写入教程,fopen函数中关于文件读写模式也可参考此文。

PHP文件读取操作代码实例

<?php
    $readFun = "fread";
    switch ($readFun)
    {
        case "fgetss":
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            $allowable_tags = "<h1>";
            while (!feof($fp)) {
                $output = fgetss($fp,100,$allowable_tags);
                echo $output;
            }
            fclose($fp);
            break;
        case "fgetcsv":
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            while (!feof($fp)) {
                $output = fgetcsv($fp,100,"\t");
                print_r($output);
            }
            fclose($fp);
            break;
        case "readfile":
            echo readfile("leapsoulcn.txt");
            break;
        case "fpassthru":
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            if(!fpassthru($fp))
                exit();
            fclose($fp);
            break;
        case "file":
            $output = file("leapsoulcn.txt");
            print_r($output);
            break;
        case "fgetc":
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            while (!feof($fp)) {
                $str = fgetc($fp);
                echo ($str == "\n"?"<br/>":$str);
            }
            fclose($fp);
            break;
        case "fread":
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            echo fread($fp,300);
            fclose($fp);
            break;
        default:
            @$fp = fopen("leapsoulcn.txt","r") or die("system error");
            while (!feof($fp)) {
                $output = fgets($fp,100);
                echo $output;
            }
            fclose($fp);
            break;
    }
?>

注释:在上述实例中你可以通过对$readFun赋值来实现不同的PHP文件读取方法的调用,涉及的PHP文件读取操作函数有fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc等函数。

在代码实例中,默认PHP文件读取操作函数为fgets,fgetss与fgetcsv函数的功能与fgets一样,都是一次读取文件中的一行,直到文件末尾。此处我设定读取文本文件中的数据长度为100,即最大读取长度为99(100-1),这样,当遇到换行符\n或文件结束符EOF或从文件中读取完99个字节时就停止读取数据。fgets函数返回文件读取的数据,字符串型。

fgetc:读取单个字符

fgetc函数用来读取一个字符,在代码实例中我通过一个一个读取字符,当遇到\n字符时将其转换成html文件中的br标记,以便在游览器中显示具体的换行效果,当然此函数的效率肯定是比较低的,不建议使用。

以上是php 文件读取系列方法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn