<?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;

php读取文件内容的三种方法的更多相关文章

  1. php中读取文件内容的几种方法。(file_get_contents:将文件内容读入一个字符串)

    php中读取文件内容的几种方法.(file_get_contents:将文件内容读入一个字符串) 一.总结 php中读取文件内容的几种方法(file_get_contents:将文件内容读入一个字符串 ...

  2. linux清空文件内容的三种方法

    linux系统中清空文件内容的三种方法 1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下:vim file_name:%d: ...

  3. 详解linux下批量替换文件内容的三种方法(perl,sed,shell)

    在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个目录下多个文件进行内容替换.第三种方法用的不多 方法一 使用 ...

  4. php中读取文件内容的几种方法

    1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节.该函数在读取完最多 ...

  5. PHP读取文件内容的三种方式

    <?php // 第一种读取方式 header("content-type:text/html;charset=utf-8"); // 文件路径 $fileA = " ...

  6. [原]Linux下清空文件内容的三种方法

    ========问题======== 有些文件需要清空内容而不改变属性 =======解决方案====== 1.直接删除,创建同名文件.(这种方法的弊端是有可能这个文件带着权限或者是属性,那么你新建这 ...

  7. Python读取文件内容的三种方式并比较

    本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readl ...

  8. Java追加文件内容的三种方法

    import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io. ...

  9. PHP读取文件内容的五种方式(转载)

    php读取文件内容的五种方式 分享下php读取文件内容的五种方法:好吧,写完后发现文件全部没有关闭.实际应用当中,请注意关闭 fclose($fp); php读取文件内容: -----第一种方法--- ...

随机推荐

  1. STM32小结

    1.GPIO 电灯 推挽输出 PB5 2.GPIO 按键 浮空输入 PA0 3.写IO高电平 HAL_GPIO_WritePin(GPIOB,GPIO_Pin_5,1); 4.读取IO电平 HAL_G ...

  2. 如何初始化grunt

    为什么使用任务运行工具Grunt -- 官方解释 简而言之,自动化.当你处理诸如代码最小化, 代码编译, 单元测试, 代码规范校验等等重复任务时, 你必须要做的工作越少,你的工作就变得越简单.在你完成 ...

  3. dede列表标签list:应用大全 {dede:list}

    http://syizq.blog.163.com/blog/static/435700372011616115826329/ 标签名称: list 功能说明: 表示列表模板里的分页内容列表 适用范围 ...

  4. Java 中判断类和实例之间的关系

    判断类与实例的关系有以下三种方式 1.instanceof关键字,用来判断对象是否是类的实例 (对象 => 类 )   2.isAssignableFrom,用来判断类型间是否存在派生关系 (类 ...

  5. MYBATIS异常:INVALID BOUND STATEMENT

    1.mapper.xml中namespaces错误(***) 2.方法不存在 3.方法返回值错误

  6. Java进阶篇(五)——Java的I/O技术

    程序中,为了永久的保存创建的数据,需要将其保存在磁盘文件中,以便在其它程序中使用它们.Java的I/O技术可以将数据保存到文本文件.二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求. 本篇 ...

  7. 04 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之高并发优化

    Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 关于并发 并发性上不去是因为当多个线程同时访问一行数 ...

  8. ESP8266重点知识

    每一个mcu对应一个库文件,所以每次上传烧写arduino都需要对应的库文件,修改起来很麻烦,不如记录下来每次的库文件,或者每次都自动生成.这样效果最佳.而且我想应该是比较稳定的, 现在比较朦胧一个问 ...

  9. linux_samba服务安装

    什么是samba服务? 用于Windows和linux系统之间实现共享文件的目的服务 如何配置其服务? Linux端: 搭建服务 1. 安装samba yum install -y samba 2. ...

  10. python_分支循环

    什么是分支+循环? --不同条件进行不同逻辑处理            -- 分支 --满足条件进行反复相同逻辑处理     -- 循环 分支的形式? -- if 条件:  执行体   else: 执 ...