PHP文件操作函数及文件指针理解

Posted 程昱仲德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP文件操作函数及文件指针理解相关的知识,希望对你有一定的参考价值。

知识点:

一、fopen(),文件打开函数,读写参数有:

1、R  : 只读,指针在文件开头

2、r+:读写,指针同上

3、W :只写,写入前会删除文件内容,然后指针回到文件开头,文件不存在则创建

4、w+: 读写,其他同上

5、A: 只写,指针在文件末尾,文件不存在则创建,注意:此模式为“追加”

6、a : 读写, 同上

7、x:创建并打开文件(方式:只写),如果文件已存在,则返回一个E_warning错误

8、x+:创建并打开文件(方式:读写),其他同上

总结:R方式读写不错,W会删除文件内容,A指针会出现在文件末端,写操作为追加,所以指针偏移函数fseek失效,X一般为新建文件

二、读取文件:file() 与file_get_contents()

file()返回数组,file_get_contents()返回字符串

三、文件写操作:fwrite()

第一个参数为文件指针,第二个参数为传入的字符串

注意:如果文件指针所在的位置有数据,则采用字符串覆盖的方式,以此类推,后面的数据也会被覆盖,直到传入的字符串写完。

四、文件指针偏移:fseek()

第一个参数为文件指针,第二个参数为偏移量(int类型)字节,第三个参数决定文件指针的初始位置,配合第二个参数决定最终指针的位置。

第三个参数的可用选项:

①、SEEK_CUR:指针当前位置

②、SEEK_END:文件末尾,如果想向前偏移,偏移量必须为负数。

③、SEEK_SET:文件开始位置

⑤、获取偏移量:ftell()

参数为文件指针

代码:

<?php

header("Content-type:text/html;charset=gbk");
$jubing = fopen("C:\\Users\\Administrator\\Desktop/test.txt",\'r+\');
$str = mb_convert_encoding("45",\'gbk\',\'utf-8\');
fseek($jubing,3,SEEK_CUR);
fwrite($jubing,$str);
$newstr = file_get_contents("C:\\Users\\Administrator\\Desktop/test.txt");
echo $newstr;
var_dump(fclose($jubing));//文件关闭成功





?>

 文件初始内容:

文件读写后内容:

以上是关于PHP文件操作函数及文件指针理解的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C Block与函数指针比较

4.lseek函数及共享文件

PHP文件指针操作

php文件的处理和操作

php课程---文件操作及文件上传的代码总结

c语言中如何通过二级指针来操作二维数组