如何在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源代码
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php 文件上传实例代码
Apr 19 PHP
解析在PHP中使用全局变量的几种方法
Jun 24 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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中uploaded_files函数使用方法详解
2011/03/09 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
高三语文教学反思
2014/01/15 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
授权委托书格式
2014/07/31 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers