时间:2021-05-18
主要提供了一种思路。
$lock0和$lock1就是文件锁定的标识符,当文件被某一用户打开的时候,$lock0和$lock1就会产生,当该文件没打开则不存在。
其实最关键就是有个标识符来表示当前这个文件的状态,$lock0和$lock1就是起这样的作用。
复制代码 代码如下:
<?php
//Lockafile,timingoutifittakestoolong.
functionlock($lock,$tries){
$lock0=".{$lock}0";
$lock1=".{$lock}1";
for($i=0;$i<$tries;$i++){
if(!is_file($lock0)){
touch($lock0);
if(!is_file($lock1)){
touch($lock1);
return1;
}
}
usleep(100);
}
return0;
}
//Unlockafile.
functionunlock($lock){
unlink(".{$lock}1");
unlink(".{$lock}0");
}
//Usageexample.
$filename="somefile";
$data="stuffandthingsn";
$tries=10;
if(lock($filename,$tries)){
$h=fopen($filename,"a")ordie();
fwrite($h,$data);
fclose($h);
/**
*另外一个进程写文件,检查是否锁定
*/
if(lock($filename,$tries)){
$h2=fopen($filename,"a")ordie();
fwrite($h2,'checklock');
fclose($h2);
}else{
//die("Failedtolock$filenameafter".($tries*100)."milliseconds!";
}
unlock($filename);
}else{
//die("Failedtolock$filenameafter".($tries*100)."milliseconds!";
}
?>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
flock(PHP4,PHP5)flock—轻便的咨询文件锁定说明boolflock(int$handle,int$operation[,int&$wouldb
本文实例讲述了PHP使用flock实现文件加锁的方法。分享给大家供大家参考。具体分析如下:flock在官方文档里的解释是:flock()允许你执行一个简单的可以
python3.0模拟用户登录,三次错误锁定的实例实例如下所示:#-*-coding:utf-8-*-#需求模拟用户登录,超过三次错误锁定不允许登陆count=
本文实例主要实现Python中的文件复制操作,有两种方法,具体实现代码如下所示:#coding:utf-8#方法1:使用read()和write()模拟实现文件
问题:F盘里有个“歌曲”的文件夹,想锁定到任务栏,但直接拖动到任务栏又不能锁定文件夹,锁定只是Windows资源管理器,要锁定文件夹