php flock用法,PHP flock() 函数用法及示例

PHP flock() 函数用法及示例

flock()函数可以锁定或释放文件,成功时返回true,失败时返回false。

语法bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock()函数允许我们执行简单的读取器/写入器模型,该模型几乎可以在所有平台上使用。

注释和提示

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

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

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

参数参数描述

handle必需。指定要锁定或释放的已打开的文件。

operation必需。指定要使用哪种锁定类型。

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

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

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

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

这些锁仅在当前的PHP进程中使用,并且如果权限允许,其他进程可以修改或删除PHP锁定的文件。在Windows中,此函数是必需的。我们可以使用fclose()函数来释放锁定操作,当脚本执行完成时可以自动调用该锁定操作。

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

在线示例

fclock的独占锁LOCK_EX的使用示例:

示例<?php

$file = fopen("/PhpProject/sample.txt", "w+");

//独占锁

if(flock($file, LOCK_EX)) {

fwrite($file, "flock function");

// 释放锁

flock($file, LOCK_UN);

echo $file;

} else {

echo "锁定文件时出错!";

}

fclose($file);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值