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新手上路(五)
Oct 09 PHP
PHP技术开发技巧分享
Mar 23 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
PHP MSSQL 分页实例
Apr 13 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
自制PHP框架之路由与控制器
May 07 PHP
php微信公众号开发之校园图书馆
Oct 20 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
javascript 进度条 实现代码
2009/07/30 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
python django集成cas验证系统
2014/07/14 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
车间副主任岗位职责
2013/12/24 职场文书
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
单位考核聘任报告
2015/03/02 职场文书
全陪导游词开场白
2015/05/29 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python