概述
PHP flock() 函数
定义和用法:flock() 函数锁定或释放文件。
若执行成功,则返回 true。若失败,则返回 false。
语法:
flock(file,lock,block)
参数 描述
file 必需。规定要锁定或释放的已打开的文件。
lock 必需。规定要使用哪种锁定类型。
block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。
说明
flock() 操作的 file 必须是一个已经打开的文件指针。例如: $file=fopen('test.txt','r+');
lock 参数可以是以下值之一:
要取得共享锁定(读取的程序),将 lock 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。
要取得独占锁定(写入的程序),将 lock 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。
要释放锁定(无论共享或独占),将 lock 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。
如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。
注意:flock()函数无法再NFS或其他网络文件系统中使用。它还无法再其他更早的不支持文件锁定的文件系统中使用,比如FAT 。
提示和应用场景:
提示:可以通过 fclose() 来释放锁定操作,代码执行完毕时也会自动调用。
应用场景:由于 flock( ) 需要一个文件指针, 因此可能不得不用一个特殊的锁定文件来保护打算通过写模式打开的文件的访问(在 fopen() 函数中加入 "w" 或 "w+")。
例子:
<?php
$file = fopen("test.txt","w+");
// 排它性的锁定
if (flock($file,LOCK_EX))
{
fwrite($file,"Write something string");
// release lock
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}
fclose($file);
?>
转载于:https://blog.51cto.com/professor/1669136
最后
以上就是大方蓝天为你收集整理的PHP 文件操作的 flock() 内置函数用法的全部内容,希望文章能够帮你解决PHP 文件操作的 flock() 内置函数用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复