PHP对文件简单的操作以及总结
来源:互联网 发布:adobe全套软件 编辑:程序博客网 时间:2024/06/10 22:55
PHP文件系统操作实践
本文介绍一些自己在使用php读文件和写文件时的操作实践
- 常用的PHP读文件和写文件
- 使用场景的简单介绍
常用的PHP读文件和写文件
- 读文件
(1)file_get_contents()查看函数定义
将文件的内容读入到字符串当中
<?php$str = file_get_contents('example.txt');echo $str;
(2)file()查看函数定义
将文件的内容读入到数组当中
<?php$array = file('example.txt');var_dump($array);
(3)fopen()查看函数定义
这个函数成功时返回的是文件指针的资源
<?php$fp = fopen('example.txt', 'r');while(!feof($fp)){//feof()测试文件指针是否到了文件结束的位置 echo fgets($fp);//fgets()逐行读取}fclose($fp);//关闭文件指针
- 写文件
(1)file_put_contents()查看函数定义
将字符串写入到文件中
<?php$filename = 'example.txt';//文件名$str = 'hello world';//要写入的数据$flag = FILE_APPEND;//当文件存在时在文件尾部追加数据,当没有这个参数时默认为覆盖文件$result = file_put_contents($filename, $str, $flag);if($result){ echo '文件写入成功!';}else{ echo '文件写入失败!';}
(2)fwrite()查看函数定义
将文件的内容读入到数组当中
<?php$fp = fopen('example.txt', 'w');$str = 'hello world';$result = fwrite($fp, $str);fclose($fp);//关闭文件指针,在操作完之后不管是否成功请关闭指针if($result){ echo '文件写入成功!';}else{ echo '文件写入失败!';}
使用场景的简单介绍
读文件时什么时候使用file_get_contents()?什么时候使用fopen()?
在读取数据量不大的文件可以使用file_get_contents()。使用这个函数读取文件代码量少而且能够得到自己想要的结果。但是在读取大文件的时候却不能用这个函数,笔者在刚实习的时候主管给的一个任务是写一个脚本让运维去使用,作用就是读取日志里的请求。当时的笔者也是选择了file_get_contents()这个函数去写,但是主管看过之后就马上对这个地方提出了问题。file_get_contents()这个函数是将文件的内容读到一个字符串当中,而当时笔者所在部门虽然只负责公司的部分业务,但是日志的记录量还是很大的,用file_get_contents()去读日志显然是不合适的,被教育一翻之后笔者把读文件的方式改成逐行去读,逐行去读也可以设置每一行读出来的数据大小,笔者没有列出来,感兴趣的朋友可以去搜一下.
写文件时需要注意什么?
其实写文件时要注意的是你要操作的文件是一个空白的文件还是说已经有内容的文件,而你要写这个文件是要新内容覆盖旧内容还是在旧内容末尾添加新内容,又或者是在指定位置添加。简单粗暴的就是使用file_put_contents()这个函数默认是新内容覆盖旧内容,如果你想在文件最后添加内容的话,可以加上FILE_APPEND这个常量。如果你是想要在文件中的某个位置加入新内容的话,文件数据量不大的时候可以用file_get_contents()取出原有的数据进行匹配,然后再在匹配到的地方拼接字符串重新写入文件(覆盖)。使用fwrite()写文件的同学注意了,使用’w’或者’w+’的时候如果文件存在会先清空文件,文件指针会在文件头。如果需要在文件后添加的同学可以使用’a’或者’a+’。
- PHP文件系统在线文档
文档地址
- PHP对文件简单的操作以及总结
- PHP中对文件的操作总结
- php对文件的操作
- php对文件的操作
- php对文件的操作
- Linux学习笔记:linux下的文件以及对文件的简单操作
- php文件操作的总结
- php对Excel的简单操作
- Python 对文件夹以及文件的操作
- PHP中对路径的操作总结
- php对文件操作
- 用php对文件的操作
- php对xml文件的操作
- php+Imagick 对psd文件的操作
- php中对文件的操作
- PHP对文件的一些操作
- c++ 对文件处理的简单操作
- 对ppt文件的一些简单操作
- 欢迎使用CSDN-markdown编辑器
- 为什么在tpshop中用getlastsql 打印不出来sql语句,
- 2017驾校 科三考试流程 富阳考场一号线
- Linux虚拟文件系统(三)驱动和虚拟文件系统读书笔记
- kotlin让开发更简洁
- PHP对文件简单的操作以及总结
- JSR 303 约束
- javascript单体内置对象和方法
- nginx 按天切割日志
- android学习笔记
- Navicat cannot create file xxx.sql.bak 解决办法
- OpenDaylight-Boron学习笔记: 5 OpenFlowPlugin模块
- 小米手机通过USB连接电脑,共享使用电脑的网络
- angularJS中$applay()及$digest()理解