这篇文章主要为大家详细介绍了php 使用flock函数锁定文件的简单示例,具有一定的参考价值,可以用来参考一下。
对php技巧使用flock函数锁定文件感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
/**
* php技巧使用flock函数锁定文件
*
* @param
* @arrange 512-笔记网: q1010.com
**/
$handle = fopen("data.txt", "w");
$text = "Here\nis\nthe\ntext.";
if (flock($handle, LOCK_EX | LOCK_NB)) {
.
.
.
}
/*** 来自四海网(www.q1010.com) ***/
其中,handle是要锁定文件的句柄,而operation可以有以下几种值: 要获得共享锁(读取程序),可将operation设为LOCK_SH 要获得独占锁(写入程序),可将operation设为LOCK_EX 要释放锁(共享锁或独占锁),可将operation设为LOCK_UN 如果锁被阻塞,可选的第三个参数将被设置为TRUE。 如果获得一个锁,函数将返回TRUE,否则返回FALSE。
/**
* php技巧使用flock函数锁定文件
*
* @param
* @arrange 512-笔记网: q1010.com
**/
$handle = fopen("data.txt", "w");
$text = "Here\nis\nthe\ntext.";
if (flock($handle, LOCK_EX | LOCK_NB)) {
.
.
.
}
/*** 来自四海网(www.q1010.com) ***/
如果获得锁,就可以写入该文件,然后对该文件解除锁定:
/**
* php技巧使用flock函数锁定文件
*
* @param
* @arrange 512-笔记网: q1010.com
**/
$handle = fopen("data.txt", "w");
$text = "Here\nis\nthe\ntext.";
if (flock($handle, LOCK_EX | LOCK_NB)) {
echo "Locked the file. <br>";
if (fwrite($handle, $text) == FALSE) {
echo "Can not write data.txt. <br>";
}
else {
echo "Created data.txt. <br>";
}
flock($handle, LOCK_UN);
echo "Unlocked the file. <br>";
}
/*** 来自四海网(www.q1010.com) ***/
这段代码只尝试锁定文件一次。如果不能锁定文件,将立即显示错误。可以遍历15或20秒钟,尝试继续锁定文件直至放弃。 如果不能获得锁,则表明其他代码正在使用这个文件,在phpflock.php中应该像下面这样提示用户:
/**
* php技巧使用flock函数锁定文件
*
* @param
* @arrange 512-笔记网: q1010.com
**/
<html>
<head>
<title>
Locking and unlocking files
</title>
</head>
<body>
<h1>
Locking and unlocking files
</h1>
<?php
$handle = fopen("data.txt", "w");
$text = "Here\nis\nthe\ntext.";
if (flock($handle, LOCK_EX | LOCK_NB)) {
echo "Locked the file. <br>";
if (fwrite($handle, $text) == FALSE) {
echo "Can not write data.txt. <br>";
}
else {
echo "Created data.txt. <br>";
}
flock($handle, LOCK_UN);
echo "Unlocked the file. <br>";
}
else {
echo "Could not lock the file. <br>";
}
fclose($handle);
?>
</body>
</html>
/*** 来自四海网(www.q1010.com) ***/
现在就完成了所有操作。其中显示了锁定文件,然后写入文件,最后解锁文件。
本文来自:http://www.q1010.com/173/1175-0.html
注:关于php 使用flock函数锁定文件的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:flock
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。