前端PHP入门-029-文件操作-掌握级别
人生只有三天,活在昨天的人迷惑;活在明天的人等待;活在今天的人最踏实。你永远无法预测意外和明天哪个来得更早,所以,我们能做的,就是尽最大的努力过好今天。请记住:今天永远是昨天死去的人所期待的明天。
file_put_contents写入文件
我们先来学习第一种写入文件的方式:
int file_put_contents ( string 文件路径,string" role="presentation" style="position: relative;">文件路径,string文件路径,string写入数据])
功能:向指定的文件当中写入一个字符串,如果文件 不存在则创建 文件。返回的是写入的 字节长度
<?php$data = "胖先生,很宅!";$numbytes = file_put_contents('D:/pang.ini', $data);echo '写入的长度:'.$numbytes;if($numbytes){echo '写入成功,我们读取看看结果试试:';echo file_get_contents('D:/pang.ini');}else{echo '写入失败或者没有权限,注意检查';}?>
!
我们发现写入文件也挺简单的。按照这个函数的格式,指定文件,写入字符串数据就可以了。
fwrite配合fopen进行写入操作
int fwrite ( resource 文件资源变量,string" role="presentation" style="position: relative;">文件资源变量,string文件资源变量,string写入的字符串 [, int 长度])
int fwrite ( resource 文件资源变量,string" role="presentation" style="position: relative;">文件资源变量,string文件资源变量,string写入的字符串 [, int 长度])
注:fwrite的别名函数是 fputs
读取的时候使用,接下来我们用fwrite加上fopen中的w,写入模式来进行文件写入。
我们来看一下特点:
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建。
注意:在下面的实验中,你可以试试新建个 pangsir.txt文件向里面写入内容.

<?php$filename = 'D:/pangsir.txt';$fp= fopen($filename, "w");$len = fwrite($fp, '我是一只来自南方的狼,一直在寻找心中的花姑娘');fclose($fp);print $len .'字节被写入了\n';?>
运行结果:

总结:
1.不论有没有新建都会打开文件 重新写入
2.原有的文件内容会被覆盖掉
3.文件不存在会创建
那我们来对比一下以下几个模式的不同:
| 模式 | 说明 |
|---|---|
| r | 只能读不能使用fwrite写 |
| r+ | 可操作读、写 |
| w | 只可以写功能 |
| w+ | 即可读又可以写 |
我们来通过实验证明一下:
<?php$filename = 'D:/test.txt';$fp= fopen($filename, "r+");$len = fwrite($fp, '我是一只来自南方的狼,一直在寻找心中的花姑娘');fclose($fp);print $len .'字节被写入了\n';?>
实验时可以把r后面的+号去掉。
我们通过实验,确实发现使用r模式,在文件存在的时候可以进行写入数据,只用r的话,写入是不成功的。
a模式和w模式的不同
同样是下面的这段代码,我们改为a模式。
<?php$filename = 'D:/test.txt';$fp= fopen($filename, "a");$len = fwrite($fp,'读大学迷茫了,人总是要靠自己的');echo $len .'字节被写入了\n';?>
打开网页执行这段代码,你会发现:每刷新一次,文件中就会多一段
:读大学迷茫了,人总是要靠自己的。
总结:
| 模式 | 总结 |
|---|---|
| w | 每次写入会干掉原有文件的内容,文件不存在都会创建 |
| a | 每次写入都会向文件的尾端追加内容 |
注:a+ 是增强的追加功能。可以读取时也可以使用。
x模式和w模式的不同
这段代码我们再实验一次,改为x模式:
<?php$filename = 'D:/test.txt';$fp= fopen($filename, "x");$len = fwrite($fp,'读大学迷茫了,人总是要靠自己的');echo $len .'字节被写入了\n';?>
我们会发现:
- 文件存在的时候会报错
- 如果把$filename 改成其他的文件名,就可以了。但是,再次刷新的时候又报错了
- x+ 是增强的x模式。读取时也可以使用。
重命名文件
bool rename(旧名," role="presentation" style="position: relative;">旧名,旧名,新名);
bool rename(旧名," role="presentation" style="position: relative;">旧名,旧名,新名);
功能:这个函数返回一个bool值,将旧的名字改为新的名字。
<?php//旧文件名$filename = 'D:/pangsir.txt';//新文件名$filename2 = $filename . '.old';//复制文件rename($filename, $filename2);?>
我们打开目录,我们可以看看效果,你会发现把指定的文件,复制了一份到了目标路径。
复制文件
复制文件,就相当于是克隆技术,将一个原来的东西再克隆成一个新的东西。两个长得一模一样。
bool copy(源文件,目标文件)
功能:将指定路径的源文件,复制一份到目标文件的位置。
<?php//旧文件名$filename = 'D:/pangsir.txt';//新文件名$filename2 = $filename . '_new';//修改名字。copy($filename, $filename2);?>
总结:
你会通过上面的例子,发现多出来了一个文件。
删除文件
删除文件就是将指定路径的一个文件删除,不过这个删除是直接删除。使用的是windows电脑,你在回收站看不到这个文件。
你只会发现,这个文件消失了。
bool unlink(指定路径的文件)
<?php$filename = 'd:/test.txt';if (unlink($filename)) {echo "删除文件成功 $filename!\n";} else {echo "删除 $filename 失败!\n";}?>
前端PHP入门-029-文件操作-掌握级别的更多相关文章
- 前端PHP入门-028-文件操作-掌握级别
作为刚入门我们员经常会干的意见事情是ctrl+c和ctrl+v,鼠标右键删除文件.会control+c(或右键)复制.粘贴文件以及新建文件,还可以设置文件的是否为只读文件等等 可不可以写入修改配置文件 ...
- Python入门篇-文件操作
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...
- 前端学PHP之文件操作
× 目录 [1]文件类型 [2]文件属性 [3]目录路径[4]目录遍历[5]目录统计[6]目录增删[7]目录复制[8]文件操作[9]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...
- 前端学PHP之文件操作(认真读读)
前面的话 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放.如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就需要把数据存储在文件或数据库.一般地 ...
- 前端PHP入门-032-异常处理-应用级别
禁止显示错误 在php.ini配置文件中.我们可以控制php的错误显示状态. php.ini中有一个专门的配置项: display_errors 这个选项设置是否将错误信息输出到网页,或者对用户隐藏而 ...
- Androlid入门之文件系统操作(三)文件读写
import java.io.*; import android.app.Activity; import android.os.Bundle; import android.view.Vi ...
- 003-Tuple、Array、Map与文件操作入门实战
003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
随机推荐
- python format用法详解
#常用方法:print('{0},{1}'.format('zhangk', 32)) print('{},{},{}'.format('zhangk','boy',32)) print('{name ...
- python3【基础】-字符串 常用的方法
字符串一个最重要的特性就是不可修改. name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 ...
- 2017年度网络安全服务企业TOP50
何谓“大安全”? 近几年来,网络安全和信息安全领域不时出现引发社会各界关注的事件. 2014年,政府采购计划对WIN8说“不”,同年,中央网络安全和信息化领导小组成立,将网络安全上升到了国家战略高度, ...
- 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制地址 [https://git.coding.n ...
- 按照Right-BICEP要求设计的测试用例
测试用例: 测试方法:Right-BICEP 测试要求: Right-结果是否正确? B-是否所有的边界条件都是正确的? P-是否满足性能要求? 题目是否有重复? 数量是否可定制? 数值范围是否可定制 ...
- VC++中使用用户自定义消息及自定制窗口技巧
Windows 应用程序所要做的每项工作几乎都是基于消息处理的, Windows 系统消息分为常用 Windows 消息,控件通知消息和命令.然而,有时我们需要定义自己的消息来通知程序什么事情发生了, ...
- 关于“问吧APP”问卷调查报告分析与体会
上周根据我们走廊奔跑队的“问吧APP”项目对本校范围内的学生发放了上百份调查问卷,并对此作出了统计和整理.针对我们项目所提出的问题涉及到的用户信息有性别.年龄.学历.职业.平时上网途径以及对 ...
- css3 flex属性flex-grow、flex-shrink、flex-basis学习笔记
最近在研究css3的flex.遇到的flex:1;这一块,很是很纠结,flex-grow.flex-shrink.flex-basis始终搞不清,最经搜集了大量的介绍,应该能算是明白了.网上大部分解释 ...
- influxdb 命令
写入数据: curl -X POST -d '[{"name":"foo","columns":["val"],&quo ...
- 条形码生成库 BarcodeLib
官方介绍 在ASP.NET,Windows,Reporting Service,Crystal Reports 和 RDLC Reports应用程序中轻松生成条形码 生成准确的条形码图像,并可以保存为 ...