php多线程读写同一文件的例子

发布时间:2020-12-03编辑:脚本学堂
php编程中模拟多线程处理文件的一段代码,实现文件读写锁定与解锁的功能,有需要的朋友,可以参考下。

示例代码如下:

<?php
/**
 * php多线程读写同一文件的代码
 * site www.jb200.com
*/
function T_put($filename,$string){
   $fp = fopen($filename,’a');   //追加方式打开
   if (flock($fp, LOCK_EX)){      //加写锁
       fputs($fp,$string);        //写文件
       flock($fp, LOCK_UN);       //解锁
   }
   fclose($fp);
}
function T_get($filename,$length){
   $fp = fopen($filename,’r');   //追加方式打开
   if (flock($fp, LOCK_SH)){      //加读锁
       $result = fgets($fp,$length);        //读取文件
       flock($fp, LOCK_UN);       //解锁
   }
   fclose($fp);
   return $result;
}
?>