代码如下:    //一分钟内 php文件 被访问5000次,每次都往文本文件里追加 $word 数据 $word= "ok!";//请教各位高手,如果不锁定,追加的数据会出错吗,毕竟不是读,只是一个劲的追加数据     $word= "ok!";     $fn = 'a2.txt';
     $fp = fopen($fn, 'a');      flock($fp, LOCK_EX);  //锁定文件,避免读写      fwrite($fp, $word);      flock($fp, LOCK_UN);   //解锁      fclose($fp); //关闭程序流如果不影响,那么我就不想锁定了.  期待.....
   

解决方案 »

  1.   

    当然要用锁,不用锁的话,fopen就会失败
      

  2.   

    读的时候加锁(lock_sh),写的时候也进行加锁(lock_ex),这样程序才不会出现问题
      

  3.   

    file_put_contents( $fn, $word, LOCK_EX );
      

  4.   

    当然要用锁,不用锁的话,fopen就会失败。。这样程序会出现错误吗?
    我以为只是数据读取时稍微有些偏差的问题。
    但是写的时候,我觉得很多 进程 同时写数据到文件,是可以的。     程序会不会出错呢?
      

  5.   

    On versions of PHP before 5.3.2, the lock is released also by fclose() (which is also called automatically when script finished). 
     fclose()已经包含锁了.
    多余的操作!