对于php fopen()flock()file(),它为什么会这样工作
所以 如果我打开一个带有+的文件,比如对于php fopen()flock()file(),它为什么会这样工作,php,file,fopen,flock,Php,File,Fopen,Flock,所以 如果我打开一个带有+的文件,比如 fopen($filepath,'a+'); file($filepath); 然后我使用file($filepath)获取文件内容,这样就可以了 但为什么我在什么时候 我用flock锁定了文件,我还可以使用file()函数获取内容 为什么? 他们的关系怎么样 当使用flock file()函数时,是否使用fopen资源 文件是独立功能还是使用fopen fopen和file是两种不同的功能 fopen当打开一个文件时,fopen函数会执行完全不同的操作
fopen($filepath,'a+');
file($filepath);
然后我使用file($filepath)获取文件内容,这样就可以了
但为什么我在什么时候
我用flock锁定了文件,我还可以使用file()函数获取内容
为什么?
fopen
和file
是两种不同的功能
fopen当打开一个文件时,fopen函数会执行完全不同的操作
描述符,用作读取或写入文件的流。信息技术
是一个级别低得多的函数,是围绕C fopen的简单包装器
函数,仅调用fopen除了打开
小溪
文件-将整个文件读取到一个数组中
flock是每个进程的一部分。因此,如果同一进程(包括所有线程)多次尝试群集,它将始终成功
阅读文档末尾的警告:
旁注:如果这不是伪代码,您在
echo“ok loked”\n“
中有一个语法错误。它正在取消语法高亮显示。@Fred ii-现在可以工作了抱歉,但我发现很难相信echo“ok loked”\n代码>将抛出一个分析错误。在打开PHP标记后立即将错误报告添加到文件顶部,例如Ah,您已经进行了编辑echo“ok loked\n”代码>是的,那么flock函数呢?flock()呢?当我使用时,会发生什么?文件被锁定了吗?但是我可以使用file()get content@being sunnysee phpflock
warning部分
$fp = fopen($filepath, "a+");
while (1) {
$f =flock($fp,LOCK_EX);
if($f){
fwrite($fp,'abc');
echo "ok loked \n";
sleep(1);
$te =file($filepath);
if(strlen($te[0])==10){
echo "this is cont ".$te[0]."\n";
echo "ok this the end \n";
ftruncate($fp,0);
fflush($fp);
}
flock($fp, LOCK_UN);
break;
}
}
fclose($fp);