php中文件处理函数总结

来源:互联网 发布:数控铣床编程四叶草 编辑:程序博客网 时间:2024/06/07 18:20

文件的打开与关闭
fopen():打开文件或url,必须指定模式
参数1:文件名或url 参数2:打开方式
打开方式有:
r:只读,指针指向文件头
r+:读写,指针指向文件头 如果不存在会报warning,从指针开始写几个长度就替换几个
w:只写,指针指向文件头
w+:读写,指针指向文件头 如果不存在尝试创建,会把原文件整体替换
a:只写,指针指向文件尾
a+:读写,指针指向文件尾 如果不存在尝试创建,在末尾接着写入
fread():读取打开的文件,即资源,必须指定长度
fwrite():写入资源 参数1:资源 参数2:写入内容的字符串 参数3:长度 返回写入的字符串的字节或false
fclose():关闭资源

读取文件的几种方式:
fread():读取文件,需要限定读的长度 不好控制
file_get_contents():读取文件,返回文件内容的大字符串
fgets():从打开的文件中读取一行
fgetc():从打开的文件中读取一个字符
file():把文件读入数组(索引数组,下标从0开始),每一行是一个数组元素(无需使用fopen打开)
readfile():读取一个文件,并输出到输出缓冲(无需使用fopen打开)


移动文件指针
ftell():返回文件指针所在位置
fseek():在文件指针中定位
参数1:资源 参数2:移动长度 参数3:开始计算的位置 返回值:成功返回0,否则返回-1
参数3:
SEEK_SET - 设定位置等于 offset字节,即从0开始加上offset
SEEK_CUR - 设定位置为当前位置加上 offset
SEEK_END - 设定位置为文件尾加上 offset。(要移动到文件尾之前的位置,需要给 offset 传递一个负值。)
rewind():将文件指针倒回开头位置

文件的一些基本操作函数
copy():拷贝文件
unlink():删除文件
ftruncate():将文件截取到指定大小 成功返回true,失败返回false


文件的锁定机制
flock():文件锁定 参数1:资源 参数2:锁定机制
锁定机制有三种:
LOCK_EX:取得独占锁定(写入程序)
LOCK_SH:取得共享锁定(读取程序)
LOCK_UN:解除锁定(无论是共享或独占)
LOCK_NB:在flock()锁定时不阻塞


两个php文件操作同一个txt文件,并且a.php先执行,b.php后执行时,有以下几种情况:
1.
a.php锁定机制为独占锁 打开方式为只写或读写方式
b.php锁定机制为独占锁 打开方式为只写或读写方式
阻塞 a执行完才执行b
2.
a.php锁定机制为独占锁 打开方式为只写或读写方式
b.php锁定机制为共享锁 打开方式为只读方式
阻塞 a取得独占锁,b只能等待,等a执行完解除锁定后才能执行b
3.
a.php锁定机制为共享锁 打开方式为只读方式
b.php锁定机制为共享锁 打开方式为只读方式
不阻塞 a b各自执行不影响,b不需要等待a执行完就能输出文件内容

原创粉丝点击