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文件系统在线文档
    文档地址
原创粉丝点击