如何在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 相关文章推荐
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
php实现读取手机客户端浏览器的类
Jan 09 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
Yii配置文件用法详解
2014/12/04 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
销售团队激励口号
2014/06/06 职场文书
婚礼答谢礼品
2015/01/20 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python