【问题标题】:Test writing to file at the same time as anyone else using file_put_contents使用 file_put_contents 与其他任何人同时测试写入文件
【发布时间】:2014-11-04 20:47:48
【问题描述】:

我在页面上有一个表单,在提交其内容后使用 file_put_contents 将其写入文件。 我在写入文件时使用 LOCK_EX 锁定文件。但是有什么方法可以尝试这确实有效,并看看当文件被同时调用两次时会发生什么。

$answer = file_put_contents($file, $skier, FILE_APPEND | LOCK_EX);

    if($answer != false){
      //I want to see if that works
    } 

提前致谢

【问题讨论】:

    标签: php io


    【解决方案1】:

    您可以尝试通过启动 N bat/shell 来尝试同时执行您的 PHP 代码并访问同一个文件

    【讨论】:

      【解决方案2】:

      正如您在manual 中看到的:

      此函数与调用 fopen()、fwrite() 和 fclose() 相同 依次将数据写入文件。

      所以要测试它,你可以:

      1. 打开一个文件并使用fopen()锁定它;
      2. 使用flock()锁定文件;
      3. 使用fwrite()写一行;
      4. 使用sleep() 等待几秒钟;
      5. 重复前两个步骤几次;
      6. 或多或少同时从两个浏览器/计算机/选项卡调用此脚本。

      【讨论】:

        猜你喜欢
        • 2020-05-28
        • 2019-11-13
        • 1970-01-01
        • 1970-01-01
        • 2014-11-01
        • 2014-02-17
        • 2011-10-23
        • 1970-01-01
        • 2020-09-19
        相关资源
        最近更新 更多