模拟flock实现文件锁定
2015-01-24信息快讯网
$lock0和$lock1就是文件锁定的标识符,当文件被某一用户打开的时候,$lock0和$lock1就会产生,当该文件没打开则不存在。
其实最关键就是有个标识符来表示当前这个文件的状态, $lock0和$lock1就是起这样的作用。
<?php // Lock a file, timing out if it takes too long. function lock ($lock, $tries) { $lock0 = ".{$lock}0"; $lock1 = ".{$lock}1"; for ($i=0; $i<$tries; $i++) { if (!is_file($lock0)) { touch($lock0); if (!is_file($lock1)) { touch($lock1); return 1; } } usleep(100); } return 0; } // Unlock a file. function unlock ($lock) { unlink(".{$lock}1"); unlink(".{$lock}0"); } // Usage example. $filename = "somefile"; $data = "stuff and thingsn"; $tries = 10; if (lock($filename, $tries)) { $h = fopen($filename, "a") or die(); fwrite($h, $data); fclose($h); /** * 另外一个进程写文件,检查是否锁定 */ if (lock($filename, $tries)) { $h2 = fopen($filename, "a") or die(); fwrite($h2,'check lock'); fclose($h2); }else{ //die("Failed to lock $filename after ".($tries*100)." milliseconds!"; } unlock($filename); } else { //die("Failed to lock $filename after ".($tries*100)." milliseconds!"; } ?>
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
phplock(php进程锁) v1.0 beta1
谈PHP生成静态页面分析 模板+缓存+写文件
最新的php 文件上传模型,支持多文件上传
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
PHP 上传文件的方法(类)
php fckeditor 调用的函数
php error_log 函数的使用
Google PR查询接口checksum新算法第1/2页
PHP集成FCK的函数代码
swfupload 多文件上传实现代码
使用PHP socke 向指定页面提交数据
php socket方式提交的post详解
效率较高的php下读取文本文件的代码 原创
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
一个捕获函数输出的函数
回答PHPCHINA上的几个问题:URL映射
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
一键删除顽固的空文件夹 软件下载
php中的登陆login
php生成文件
FCKeditor的安装(PHP)
如何隐藏你的.php文件
实例(Smarty+FCKeditor新闻系统)
PHP文件上传实例详解!!!
PHP中通过ADODB库实现调用Access数据库之修正版本 原创
global.php
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
vBulletin HACK----关于排版的两个HACK
利用 window_onload 实现select默认选择
使用sockets:从新闻组中获取文章(一)
优化NFR之一 --MSSQL Hello Buffer Overflow