php中文件处理函数总结


文件的打开与关闭
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执行完就能输出文件内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值