如何在PHP中读写文件


Posted in PHP onSeptember 07, 2020

在PHP中读写文件,可以用到一下内置函数:

1.fopen(创建文件和打开文件)

语法:

fopen(filename,mode)

filename,规定要打开的文件。mode,打开文件的模式,可能的值见下表。

mode 说明
"r" 只读方式打开,将文件指针指向文件开头。
"r+" 读写方式打开,将文件指针指向文件开头。
"w" 写入方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"w+" 读写方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。
"a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。

如果成功打开文件,fopen函数的返回值是一个文件指针,如果出错,返回 FALSE。

示例:

<?php
$fp = fopen("test.txt", "r");
?>

2.fclose(关闭文件)

语法:

fclose(filepointer)

filepointer,要关闭的文件指针。如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE。

示例:

<?php
$fp = fopen("test.txt", "r");
fclose($fp);
?>

3.feof(检测是否已到达文件末尾)

语法:

feof(filepointer)

filepointer,要检测的文件指针,该指针必须指向成功打开没有关闭的文件。如果文件指针到了文件末尾或者出错时,feof函数返回 TRUE。

示例:

<?php
$fp = fopen("test.txt", "r");
while(! feof($fp))
{
echo fgets($fp). "<br />";
}
fclose($fp);
?>

4.fgets(从文件指针中读取一行)

语法:

fgets(filepointer)

filepointer,要读取的文件指针。如果成功,从文件中读取一行并返回字符串,如果失败,返回 FALSE。

示例:

<?php
$fp = fopen("test.txt", "r");
if($fp)
{
for($i=1;! feof($fp);$i++)
{
echo "行".$i." : ".fgets($fp). "<br />";
}
}
else
{
echo "打开文件失败";
}
fclose($fp);
?>

假设test.txt的内容为:

hello world
hello cnblogs
hello heihaozi
hello everyone

页面输出的结果为:

行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone

5.fwrite(写入文件)

语法:

fwrite(filepointer,string)

filepointer,要写入的文件指针。string,要写入的字符串。如果成功,返回写入的字符数,如果失败,返回 FALSE。

示例:

<?php
$fp = fopen("test.txt", "w");//文件被清空后再写入
if($fp)
{
$count=0;
for($i=1;$i<=5;$i++)
{
$flag=fwrite($fp,"行".$i." : "."Hello World!\r\n");
if(!$flag)
{
echo "写入文件失败<br>";
break;
}
$count+=$flag;
}
echo "共写入".$count."个字符";
}
else
{
echo "打开文件失败";
}
fclose($fp);
?>

页面输出的结果为:

共写入100个字符

test.txt文件会被写入:

行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!

注:为了简化操作,部分函数的可选参数没有列出。

以上就是如何在PHP中读写文件的详细内容,更多关于PHP中读写文件的资料请关注三水点靠木其它相关文章!

PHP 相关文章推荐
PHP 柱状图实现代码
Dec 04 PHP
php的大小写敏感问题整理
Dec 29 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
LotusPhp笔记之:Logger组件的使用方法
May 06 PHP
如何使用Strace调试工具
Jun 03 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
php简单处理XML数据的方法示例
May 19 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 #PHP
PHP autoload使用方法及步骤详解
Sep 05 #PHP
PHP数组访问常用方法解析
Sep 05 #PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 #PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 #PHP
Laravel Reponse响应客户端示例详解
Sep 03 #PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 #PHP
You might like
PHP个人网站架设连环讲(二)
2006/10/09 PHP
PHP 进程锁定问题分析研究
2009/11/24 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
Python入门篇之字典
2014/10/17 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
git进行版本控制心得详谈
2017/12/10 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
python实现图片横向和纵向拼接
2020/03/05 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
python map比for循环快在哪
2020/09/21 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
三八妇女节趣味活动方案
2014/08/23 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
导游词之清晏园
2019/11/22 职场文书
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL