php 锁定文件的问题。
我在做一个基于文本的论坛,用户注册时的敏感信息都放在某txt文件里,考虑到高峰时间段用户注册人数会很多,怕造成数据库的混乱故此使用flock函数,但是自己调试却发现了难以...
我在做一个基于文本的论坛,用户注册时的敏感信息都放在某txt文件里,考虑到高峰时间段用户注册人数会很多,怕造成数据库的混乱故此使用flock函数,但是自己调试却发现了难以理解的问题,如下:
<?php
$fp = fopen ('./data.txt',"w");
$islock = flock ($fp, LOCK_EX); 锁定文件,只有本进程有权写入。
if($islock === false) //判断文件是否被锁定。
{
/*
去掉了一些处理不能锁定时的代码...
*/
echo 'NO!';
//fclose($fp);
}
else {
fwrite ($fp, "soming...\r");
//flock ($fp, LOCK_UN);
//fclose($fp);
echo 'OK!';
}
?>
按照我刻意修改后的不完整代码,应当在我第一次执行的时候正常写入文件并显示正确提示,而第二次执行的时候将显示错误提示...但是结果却总是“OKOKOKOKOK...”,哎,烦!
空间绝对支持flock函数,请问各位高手,究竟是哪里出现了问题? 展开
<?php
$fp = fopen ('./data.txt',"w");
$islock = flock ($fp, LOCK_EX); 锁定文件,只有本进程有权写入。
if($islock === false) //判断文件是否被锁定。
{
/*
去掉了一些处理不能锁定时的代码...
*/
echo 'NO!';
//fclose($fp);
}
else {
fwrite ($fp, "soming...\r");
//flock ($fp, LOCK_UN);
//fclose($fp);
echo 'OK!';
}
?>
按照我刻意修改后的不完整代码,应当在我第一次执行的时候正常写入文件并显示正确提示,而第二次执行的时候将显示错误提示...但是结果却总是“OKOKOKOKOK...”,哎,烦!
空间绝对支持flock函数,请问各位高手,究竟是哪里出现了问题? 展开
3个回答
展开全部
你的程序我看不很明白:锁定之后不需要解锁吗?文件打开没看见你关闭?
如果你这不是完成老师布置作业,而是完成老板布置的工程,请用我下面的方法,程序绝对简单,系统绝对安全。
如果环境不支持数据库,必须使用文本来存储,解决并发冲突最好的办法是一条记录存为一个文本文件:新注册用户就新建立文件,检查是否存在就检测相应的文件是否存在,获取注册信息就是直接打开文件,获取注册用户清单就列目录。这样一来,所有复杂的处理都交给操作系统去完成,你的程序将变得非常简单,而几乎不可能发生冲突,即使冲突也不可能出现灾难。
如果你这不是完成老师布置作业,而是完成老板布置的工程,请用我下面的方法,程序绝对简单,系统绝对安全。
如果环境不支持数据库,必须使用文本来存储,解决并发冲突最好的办法是一条记录存为一个文本文件:新注册用户就新建立文件,检查是否存在就检测相应的文件是否存在,获取注册信息就是直接打开文件,获取注册用户清单就列目录。这样一来,所有复杂的处理都交给操作系统去完成,你的程序将变得非常简单,而几乎不可能发生冲突,即使冲突也不可能出现灾难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有解锁
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询