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 无限分类的树类代码
Dec 03 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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 include,include_once,require,require_once
2008/09/05 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
2017/02/20 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python使用pil生成缩略图的方法
2015/03/26 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
工作交流会欢迎词
2014/01/12 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
致全体运动员广播稿
2014/02/01 职场文书
四风查摆剖析材料
2014/10/10 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB