zoukankan      html  css  js  c++  java
  • php读取文件内容的三种方法

    <?php
    //**************第一种读取方式*****************************
    代码如下:
    header("content-type:text/html;charset=utf-8");
    //文件路径
    $file_path = "text.txt";
    //判断是否有这个文件
    if (file_exists($file_path)) {
        if ($fp = fopen($file_path, "a+")) {
            //读取文件
            $conn = fread($fp, filesize($file_path));
            //替换字符串
            $conn = str_replace("rn", "<br/>", $conn);
            echo $conn . "<br/>";
        } else {
            echo "文件打不开";
        }
    } else {
        echo "没有这个文件";
    }
    fclose($fp);
     
    //*******************第二种读取方式***************************
    代码如下:
    header("content-type:text/html;charset=utf-8");
    //文件路径
    $file_path = "text.txt";
    $conn      = file_get_contents($file_path);
    $conn      = str_replace("rn", "<br/>", file_get_contents($file_path));
    echo $conn;
    fclose($fp);
     
    //******************第三种读取方式,循环读取*****************
    代码如下:
    header("content-type:text/html;charset=utf-8");
    //文件路径
    $file_path = "text.txt";
    //判断文件是否存在
    if (file_exists($file_path)) {
        //判断文件是否能打开
        if ($fp = fopen($file_path, "a+")) {
            $buffer = 1024;
            //边读边判断是否到了文件末尾
            $str = "";
            while (!feof($fp)) {
                $str .= fread($fp, $buffer);
            }
        } else {
            echo "文件不能打开";
        }
    } else {
        echo "没有这个文件";
    }
    //替换字符
    $str = str_replace("rn", "<br>", $str);
    echo $str;
    fclose($fp);
    读取INI配置文件的函数:
    $arr = parse_ini_file("config.ini");
    //返回的是数组
    echo $arr['host'] . "<br/>";
    echo $arr['username'] . "<br/>";
    echo $arr['password'] . "<br/>";
     
    //_______________________读取大文件
    $fp   = fopen($file, "r");
    $num   = 10;
    $chunk = 4096;
    $fs    = sprintf("%u", filesize($file));
    $max   = (intval($fs) == PHP_INT_MAX) ? PHP_INT_MAX : filesize($file);
    for ($len = 0; $len < $max; $len += $chunk) {
        $seekSize = ($max - $len > $chunk) ? $chunk : $max - $len;
        fseek($fp, ($len + $seekSize) * -1, SEEK_END);
        $readData = fread($fp, $seekSize) . $readData;
     
        if (substr_count($readData, "n") >= $num + 1) {
            preg_match("!(.*?n){" . ($num) . "}$!", $readData, $match);
            $data = $match[0];
            break;
        }
    }
    fclose($fp);
    echo $data;

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

    如果,想给予我更多的鼓励,求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读!

  • 相关阅读:
    Action返回类型
    低成本FPGA中实现动态相位调整
    SERDES高速系统(二)
    SERDES高速系统(一)
    Avalon总线概述
    FPGA热设计
    功耗的挑战
    特性阻抗介绍
    低阻抗电源分配系统
    非理想回路信号衰减
  • 原文地址:https://www.cnblogs.com/GreenForestQuan/p/6086210.html
Copyright © 2011-2022 走看看