我是靠谱客的博主 大方蓝天,最近开发中收集的这篇文章主要介绍PHP 文件操作的 flock() 内置函数用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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() 内置函数用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部