当前位置: 首页 > news >正文

PHP中文件操作(1)--打开/读取文件

1.打开文件(fopen)

 

语法:resource  $fp=fopen(文件地址,模式),返回的是文件指针(file pointer)

模式含义
r只读
w写(清空重写)
a追加
$fp = fopen('./aa.txt', "r");   //只读

$fp = fopen('./aa.txt', "w");   //写(清空重写)

$fp = fopen('./aa.txt', "a");   //追加

2.读文件(fread ,file_get_contents

语法:string fread ( $fp , 文件大小 )  

file_get_contents  将整个文件读入一个字符串

语法:string file_get_contents ( string $filename)

<?php 
$filename = './aa.txt';

echo "<br><br>******第一种读取方法********<br>";
$fp = fopen($filename, "r");
$con = fread($fp, filesize($filename));
//默认情况下显示到网页的内容不会换行,需替换换行符\r\n -> <br/>
$con = str_replace("\r\n", "<br/>", $con);
echo "$con";
//关闭指针
fclose($fp);

echo "<br><br>******第二种读取方法,循环读取(适用于大文件)********<br>";
$fp = fopen($filename, "r");
//设置buffer一次读取1024个字节
$buffer = 1024;
//判断文件指针是否到了文件结束的位置
while (!feof($fp)) {
    //
    $con = fread($fp, $buffer);
    //替换换行符
    $con = str_replace("\r\n", "<br/>", $con);
    echo "$con";
}
//关闭指针
fclose($fp);

echo "<br><br>******第三种读取方法********<br>";
$con = file_get_contents($filename);
//替换换行符
$con = str_replace("\r\n", "<br/>", $con);
echo "$con";

结果:

3.fgets():读取一行,指针下移一行

$filename = "aa.txt";
$fp = fopen($filename, 'r');
while (!feof($fp)) {
	echo fgets($fp)."<br/>";
}

结果:

$filename = "aa.txt";
fseek($fp, 0);  //将文件指针移到文件最前面
while (!feof($fp)) {
	echo fgets($fp)."<br/>";
}

结果:

4.getc():获取一个字符

 

$filename = "aa.txt";
$fp = fopen($filename, 'r');
while (!feof($fp)) {
	//获取一个中文字符,占用3个字节
	echo fqetc($fp)."<br/>";
}

 

  

 

转载于:https://www.cnblogs.com/zxf100/p/6747369.html

相关文章:

  • firewalld防火墙的配置及应用
  • Angular 4.x 动态创建组件
  • WEB架构想法考虑
  • gaojingsong----大数据博客
  • RDD原文翻译[转]
  • Scrum角色划分——绿唤
  • Codeforces Round #410 (Div. 2) 题解 【ABCD】
  • 《Java程序员面试秘笈》—— 面试题3 Linux操作系统下如何安装Java SE开发环境
  • 《好学的C++程序设计》——2.3 循址访问是怎样的
  • 《Adobe Fireworks CS5中文版经典教程》——1.5 使用多个文档
  • 《Android 应用案例开发大全(第3版)》——第2.6节绘制相关类
  • 《编写高质量代码:改善c程序代码的125个建议》——建议14-4:尽量避免在同一个数据上执行位操作与算术运算...
  • 《51单片机应用开发范例大全(第3版)》——1.4 【实例19】P1口控制直流电动机实例...
  • 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——2.3 本章小结...
  • 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第1课1.1节开始在Adobe Photoshop中工作...
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • HTML-表单
  • JS笔记四:作用域、变量(函数)提升
  • js学习笔记
  • node学习系列之简单文件上传
  • TypeScript实现数据结构(一)栈,队列,链表
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从0实现一个tiny react(三)生命周期
  • 读懂package.json -- 依赖管理
  • 机器学习中为什么要做归一化normalization
  • 简单数学运算程序(不定期更新)
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端工程化(Gulp、Webpack)-webpack
  • 巧用 TypeScript (一)
  • 人脸识别最新开发经验demo
  • 思考 CSS 架构
  • 学习笔记:对象,原型和继承(1)
  • 译自由幺半群
  • 怎样选择前端框架
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Linux权限管理(week1_day5)--技术流ken
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​虚拟化系列介绍(十)
  • (1)SpringCloud 整合Python
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (day 12)JavaScript学习笔记(数组3)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计高校学生选课系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • *上位机的定义
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?