在使用php写入文件时如何保证用户的单一

来自:互联网
时间:2021-03-23
阅读:
语法格式如下:
flock(resource $handle, int $operation[, int &$wouldblock])

a.$handle:文件系统指针,即使用 fopen() 创建的文件资源;

b.$operation:文件锁类型,可以是以下值之一:

  • LOCK_SH 取得共享锁定(读取的程序);

  • LOCK_EX 取得独占锁定(写入的程序);

  • LOCK_UN 释放锁定(无论共享或独占);

  • 如果不希望 flock() 在锁定时堵塞,则可以在 $operation 中添加 LOCK_NB 参数(Windows 上还不支持)。

c.$wouldblock:可选参数,如果希望文件锁定时堵塞其它进程,则可以将该参数设置为 或 true。(Windows 上不支持)。

PS: 使用 flock() 函数不仅可以为文件加锁,好可以解锁文件。

示例:

<?php
    $file = fopen('./test.txt','w+');
    if(flock($file, LOCK_EX|LOCK_NB))
    {
     fwrite($file, '免费资源网'.date('Y-m-d H:i:s', time()));
     flock($file, LOCK_UN);
     }else{
     echo "string";
     }
     fclose($file);
?>

运行结果:

test.txt文件中写入

免费资源网2021-03-23 09:09:31
返回顶部
顶部