PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码


Posted in PHP onMarch 25, 2016

创建文件我们用到函数

fopen ( string filename, string mode )
参数filename为创建文件名
参数mode为以什么方式打开文件filename
其中mode可能值列表:

mode 说明

‘r' 只读方式打开,将文件指针指向文件头。
‘r+' 读写方式打开,将文件指针指向文件头。
‘w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
‘a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
‘x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
‘x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
下面代码是我通过利用函数fopen创建一个名为Demo,格式为txt的文件,并在文件中写入"Welcome To ItCodeWorld!"的数据。

< ?php
//要创建的两个文件
$TxtFileName = "Demo.txt";
//以读写方式打写指定文件,如果文件不存则创建
if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){
echo("创建可写文件:".$TxtFileName."失败");
exit();
}
echo ("创建可写文件".$TxtFileName."成功!</br>");
$StrConents = "Welcome To ItCodeWorld!";//要 写进文件的内容
if(!fwrite ($TxtRes,$StrConents)){ //将信息写入文件
echo ("尝试向文件".$TxtFileName."写入".$StrConents."失败!");
fclose($TxtRes);
exit();
}
echo ("尝试向文件".$TxtFileName."写入".$StrConents."成功!");
fclose ($TxtRes); //关闭指针
?>

PHP 创建文件 ? fopen()
fopen() 函数也用于创建文件。也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同。
如果您用 fopen() 打开并不存在的文件,此函数会创建文件,假定文件被打开为写入(w)或增加(a)。
下面的例子创建名为 "testfile.txt" 的新文件。此文件将被创建于 PHP 代码所在的相同目录中:
实例
$myfile = fopen("testfile.txt", "w")
PHP 文件权限
如果您试图运行这段代码时发生错误,请检查您是否有向硬盘写入信息的 PHP 文件访问权限。
PHP 写入文件 ? fwrite()
fwrite() 函数用于写入文件。
fwrite() 的第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。
下面的例子把姓名写入名为 "newfile.txt" 的新文件中:
实例

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

请注意,我们向文件 "newfile.txt" 写了两次。在每次我们向文件写入时,在我们发送的字符串 $txt 中,第一次包含 "Bill Gates",第二次包含 "Steve Jobs"。在写入完成后,我们使用 fclose() 函数来关闭文件。
如果我们打开 "newfile.txt" 文件,它应该是这样的:
Bill Gates
Steve Jobs

PHP 覆盖(Overwriting)

如果现在 "newfile.txt" 包含了一些数据,我们可以展示在写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
在下面的例子中,我们打开一个已存在的文件 "newfile.txt",并向其中写入了一些新数据:
实例

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

如果现在我们打开这个 “newfile.txt” 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:

Mickey Mouse
Minnie Mouse

换行符‘\n'和回车符‘\r'
顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符

‘\n' 10 换行(newline)
‘\r' 13 回车(return)

也可以表示为'\x0a'和'\x0d'.(16进制)
在windows系统下,回车换行符号是”\r\n”.但是在Linux等系统下是没有”\r”符号的。
在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定”\r\n”又要判定”\n”。
写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

PHP 相关文章推荐
php数组总结篇(一)
Sep 30 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
php 文章调用类代码
Aug 11 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
php实现文件下载实例分享
Jun 02 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php实现点击可刷新验证码
Nov 07 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP 99乘法表的几种实现代码
Oct 13 PHP
php用正则判断是否为数字的方法
Mar 25 #PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 #PHP
PHP程序员的技术成长规划
Mar 25 #PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 #PHP
PHP 生成微信红包代码简单
Mar 25 #PHP
PHP实现动态执行代码的方法
Mar 25 #PHP
PHP动态生成指定大小随机图片的方法
Mar 25 #PHP
You might like
聊天室php&amp;mysql(一)
2006/10/09 PHP
PHPCMS的使用小结
2010/09/20 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
简单理解Python中的装饰器
2015/07/31 Python
Python实现定时任务
2017/02/08 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
详解Python发送email的三种方式
2018/10/18 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
信息工程学院毕业生推荐信
2013/11/05 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
小学校长汇报材料
2014/08/20 职场文书
个人四风对照检查材料
2014/09/26 职场文书
奖金申请报告模板
2015/05/15 职场文书
员工离职证明范本
2015/06/12 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python