VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php flock函数实例

由于 flock() 需要一个文件指针,因此可能不得不用一个特殊的锁定文件来保护打算通过写模式打开的文件的访问(在 fopen() 函数中加入 \\\"w\\\" 或 \\\"w+\\\"),实例代码如下:

  1. fp = fopen("test.txt"'ab');              //from the end 
  2. flock($fp, lock_ex);                        //lock the file for waiting... 
  3. fwrite($fp'just a test string.......');   //start writing... 
  4. flock($fp, lock_un);                        //release write lock  
  5. fclose($fp);                                //close the file读操作: 
  6. //read 
  7. $fp = fopen("test.txt"'r'); 
  8. flock($fp, lock_sh); 
  9. //read from the file....... 
  10. flock($fp, lock_un); 
  11. <?php 
  12. $fp = fopen("/tmp/lock.txt""w+"); 
  13. if (flock($fp, lock_ex)) { // 进行排它型锁定 
  14.     fwrite($fp"write something here "); 
  15.     flock($fp, lock_un); // 释放锁定 
  16. else { 
  17.     echo "couldn't lock the file !"
  18. }//开源软件:phpfensi.com 
  19. fclose($fp); 
  20. ?> 

flock() 不能用于 nfs 以及其它一些网络文件系统,详细资料查看自己操作系统的文档,在部分操作系统中 flock() 以进程级实现,当用一个多线程服务器 api,比如 isapi时,可能不可以依靠 flock() 来保护文件,因为运行于同一服务器实例中其它并行线程的 php 脚本可以对该文件进行处理.

出处:http://www.phpfensi.com/php/20140919/5707.html

 


相关教程