php 文件锁定详解flock
2015-03-11 PHP 1079
文件锁定
<?php
//文件锁定分四种类型
//1.LOCK_SH(取得共享锁定) 从文件中读取数据时使用
//2.LOCK_EX(取得独占锁定) 向文件中写入数据时使用
//3.LOCK_UN(释放锁定) 无论共享或独占锁,都用它释放
//4.LOCK_N
文件锁定 <?php //文件锁定分四种类型 //1.LOCK_SH(取得共享锁定) 从文件中读取数据时使用 //2.LOCK_EX(取得独占锁定) 向文件中写入数据时使用 //3.LOCK_UN(释放锁定) 无论共享或独占锁,都用它释放 //4.LOCK_NB(附加锁定) 如果不希望flock()在锁定时堵塞,则应在上述锁定后加上改锁 /// // 向文件内写文件 // @param $filename // @param $message // function writeMessage($filename,$message){ $fp = fopen($filename,"a"); if(flock($fp,LOCK_EX)){ fwrite($fp,$message); flock($fp,LOCK_UN); }else{ echo '不能锁定文件'; } fclose($fp); } /// // 读取文件内容 // @param unknown_type $filename // function readMessage($filename){ $fp = fopen($filename,"r"); flock($fp,LOCK_SH); while(!feof($fp)){ $buffer .= fread($fp,1024); } flock($fp,LOCK_UN); fclose($fp); } // 如果不希望出现锁定堵塞发生,可以附加LOCK_NB, $file = fopen("test.txt","w+"); // 以读写的方式打开文件 flock($file,LOCK_EX+LOCK_NB); // 独占锁定加上附加锁定 fwrite($file,"write somemessage"); // 向文件中写放数据 flock($file,LOCK_UN+LOCK_NB); // 释放锁定也加上了附加锁定 fclose($file); ?>
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论