在PHP中,flock是一个函数,表示的意思是锁定或者释放文件;该函数的作用是操作文件时锁定文件,只有取消锁定时才可用,如果成功则该函数返回true,如果失败则该函数返回false,语法为“flock(file,lock,block)”。

本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑

php中flock是什么意思

flock() 函数锁定或释放文件。flock在php中的作用是操作文件时锁定文件,只取取消锁定时才可用。

如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法

flock(file,lock,block)

参数 描述

  • file 必需。规定要锁定或释放的已打开的文件。

  • lock 必需。规定要使用哪种锁定类型。可能的值:

LOCK_SH - 共享锁定(读取的程序)。允许其他进程访问该文件。

LOCK_EX - 独占锁定(写入的程序)。防止其他进程访问该文件。

LOCK_UN - 释放一个共享锁定或独占锁定

LOCK_NB - 锁定的情况下避免阻塞其他进程。

  • block 可选。若设置为 1,则当进行锁定时阻塞其他进程。

这些锁仅在当前的 PHP 进程中使用。如果权限允许,其他的进程可修改或删除一个 PHP-locked 文件。

注释:flock() 在 Windows 下具有强制性。

提示:可以通过 fclose() 来释放锁定操作,脚本执行完成时会自动调用。

示例如下:

<?php
$file = fopen("test.txt","w+");
// exclusive lock
if (flock($file,LOCK_EX))
{
fwrite($file,"Write something");
// release lock
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}
fclose($file);
?>


php中flock是什么意思