PHP文件锁函数flock()详细介绍
2015-01-24信息快讯网
这篇文章主要介绍了PHP文件锁函数flock()详细介绍,本文着重对flock函数的作用和参数讲解,以及使用需要注意的问题,需要的朋友可以参考下
文件操作系统是在网络环境下完成的,可能有多个客户端用户在同一个时刻对服务器上的同一个文件访问。当这种并发访问产生时,很可能会破坏文件中。例如一个用户正在向文件中写入数据,当还没有写完时,其他用户在这一时刻也向这个文件中写数据,就会造成数据写入混乱。还有,当用户没有将数据写完时,其他用户就去获取这个文件中的内容,也会得到残缺的数据。
在PHP中提供了flock()函数,可以对文件使用锁定机制(锁定或释放文件)。当一个进程在访问文件时加上锁,其他进程要想对该文件进行访问,则必须等到锁定被释放以后。这样就可以避免在并发访问同一个文件时破坏数据。该函数的原型如下:
bool flock(int handle,int operation[,int&wouldblock]) //轻便的咨询文件锁定
第一个参数handle必须是一个已经打开的文件资源,第二个参数opeation也是必需的,规定使用哪种类型。operation可以是以下值之一:
★LOCK_SH取得共享锁定(从文件中读取数据时使用)。
★LOCK_EX取得独占锁定(向文件中写入数据时使用)。
★LOCK_UN释放锁定(无论共享或独占锁,都用它释放)。
★LOCK_NB附加锁定(如果不希望flock()在锁定时堵塞,则应在上述锁定后加上该锁)。
如果锁定会堵塞的话(已经被flock()锁定的文件,再次锁定时,flock()函数会被挂起,这时成为锁定堵塞),也可以将可选的第三个参数设定为1,则当进行锁定时会阻挡其他进程。锁定操作也可以被fclose()释放。为了让flock()函数发挥作用,在所有访问文件的程序中都必须使用相同的方式锁定文件。该函数如果成功则返回TRUE,失败则返回FALSE。
php导入excel文件到mysql数据库的方法
PHP上传文件时自动分配路径的方法
php计划任务之ignore_user_abort函数实现方法
PHP中使用SimpleXML检查XML文件结构实例
php静态文件返回304技巧分享
php实现utf-8转unicode函数分享
php使用fputcsv()函数csv文件读写数据的方法
phplot生成图片类用法详解
ioncube_loader_win_5.2.dll的错误解决方法
PHP跨平台获取服务器IP地址自定义函数分享
php+jQuery.uploadify实现文件上传教程
php中mail函数发送邮件失败的解决方法
php运行提示:Fatal error Allowed memory size内存不足的解决方法
PHP使用glob函数遍历目录或文件夹的方法
PHP移动文件指针ftell()、fseek()、rewind()函数总结
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
PHP操作文件的一些基本函数使用示例
一个经典的PHP文件上传类分享
php数组查找函数总结
PHP中一些可以替代正则表达式函数的字符串操作函数
PHP向浏览器输出内容的4个函数总结
使用PHP把HTML生成PDF文件的几个开源项目介绍
php格式输出文件var_export函数实例
php使用glob函数快速查询指定目录文件的方法
php中explode函数用法分析
php中simplexml_load_file函数用法实例
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
CI框架装载器Loader.php源码分析
PHP flock 文件锁详细介绍