Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于php fopen()flock()file(),它为什么会这样工作_Php_File_Fopen_Flock - Fatal编程技术网

对于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()函数获取内容 为什么?

  • 他们的关系怎么样

  • 当使用flock file()函数时,是否使用fopen资源

  • 文件是独立功能还是使用fopen


  • 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 php
    flock
    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);