如何在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 相关文章推荐
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
php 过滤器实现代码
Aug 09 PHP
php随机抽奖实例分析
Mar 04 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
thinkPHP简单调用函数与类库的方法
Mar 15 PHP
php中的依赖注入实例详解
Aug 14 PHP
laravel批量生成假数据的方法
Oct 09 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
php进程间通讯实例分析
2016/07/11 PHP
Symfony查询方法实例小结
2017/06/28 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
javascript 写类方式之五
2009/07/05 Javascript
最短的IE判断代码
2011/03/13 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
详解js的六大数据类型
2016/12/27 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
Vuex 入门教程
2018/01/10 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python元组常见操作示例
2019/02/19 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python计算导数并绘图的实例
2020/02/29 Python
详解Python中的路径问题
2020/09/02 Python
倡议书范文
2014/04/16 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
文言文辞职信
2015/02/28 职场文书
自荐信模板大全
2015/03/27 职场文书
企业法人代表证明书
2015/06/18 职场文书