PHP文件锁定写入实例解析
2015-01-24信息快讯网
这篇文章主要介绍了PHP文件锁定写入实例解析,需要的朋友可以参考下
本文以实例讲述了PHP文件写入方法,以应对多线程写入,具体代码如下:
function file_write($file_name, $text, $mode='a', $timeout=30){ $handle = fopen($file_name, $mode); while($timeout>0){ if ( flock($handle, LOCK_EX) ) { // 排它性的锁定 $timeout--; sleep(1); } } if ( $timeout > 0 ){ fwrite($handle, $text.'\n'); flock($handle, LOCK_UN); fclose($handle); //释放锁定操作 return true; } return false; }
其中flock(int $handle, int $operation)函数操作的 handle 必须是一个已经打开的文件指针。
operation 可以是以下值之一:
要取得共享锁定(读取的程序),将 operation 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。
要取得独占锁定(写入的程序),将 operation 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。
要释放锁定(无论共享或独占),将 operation 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。
如果不希望 flock() 在锁定时堵塞,则给 operation 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。
此外, fclose()用来释放锁定操作,在代码执行完毕时调用。
Dwz与thinkphp整合下的数据导出到Excel实例
yii的CURD操作实例详解
Yii的CDbCriteria查询条件用法实例
php生成随机颜色方法汇总
php实现使用正则将文本中的网址转换成链接标签
Yii框架中memcache用法实例
Yii中CGridView关联表搜索排序方法实例详解
PHP多线程类及用法实例
php提取字符串中网站url地址的方法
php获取CSS文件中图片地址并下载到本地的方法
php生成html文件方法总结
ThinkPHP实现动态包含文件的方法
PHP静态文件生成类实例
ThinkPHP模版中导入CSS和JS文件的方法
PHP自定session保存路径及删除、注销与写入的方法
php操作XML、读取数据和写入数据的实现代码
Php连接及读取和写入mysql数据库的常用代码
PHP5.2至5.6的新增功能详解
ThinkPHP惯例配置文件详解
2014年10个最佳的PHP图像操作库
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
kohana框架上传文件验证规则写法示例
PHP开发框架kohana中处理ajax请求的例子
兼容ie6浏览器的php下载文件代码分享
php事务处理实例详解
yii操作cookie实例简介
php+mysql不用递归实现的无限级分类实例(非递归)
PHP生成短网址的3种方法代码实例
PHP实现的连贯操作、链式操作实例
PHP在网页中动态生成PDF文件详细教程
CodeIgniter实现更改view文件夹路径的方法
php把session写入数据库示例
PHP 进程锁定问题分析研究