ITPub博客

首页 > 应用开发 > IT综合 > PHP4用户手册:函数->flock (转)

PHP4用户手册:函数->flock (转)

原创 IT综合 作者:worldblog 时间:2007-12-10 17:09:05 0 删除 编辑
PHP4用户手册:函数->flock (转)[@more@]

flock

(PHP 3>= 3.0.7, PHP 4 >= 4.0.0)

flock -- 锁定文件

描述

bool flock (int fp, int operation [, int wouldblock])

PHP 支持在访问文件时完全的锁定文件(这意味着所有的访问程序不得不使用相同的锁定方式,或者它不工作)。

flock() 运行在打开的文件指针fp之上。

operation 是下列值之一:

  • 获得一个共享锁(可读),设置为LOCK_SH (PHP 4.0.1以下设置为1);

  • 获得一个互斥锁(只有自己可写),设置为LOCK_EX (PHP 4.0.1以下设置为2);

  • 释放锁(释放共享锁或互斥锁),设置为LOCK_UN (PHP 4.0.1以下设置为3);

  • 如果当锁定时你不想flock() 块,添加LOCK_NB (PHP 4.0.1以下设置为4)。

flock() 允许你在每一个平台上能被使用简单的读/写模式 (包括众多的 unix 派生系统windows系统). 如果你想锁住块,你可以设置第三个参数为 TRUE (EWOULDBLOCK errno condition)

flock() 返回 TRUE 为成功;返回 FALSE 为失败 (e.g. when a lock could not be acquired).

注意: 因为 flock() 需要一个文件指针,you may have to use a special lock file to protect access to a file that you intend to truncate by opening it in write mode (with a "w" or "w+" argument to 服务器脚本类/PHP/PHP用户手册/fancy/function.fopen.html">fopen()).

警告

flock() 在NFS和其他的网络文件系统中将不工作。详细资料请查阅你的操作系统文件。

有些操作系统 flock()执行需要在一定的执行级别上。当使用多线程系统api象ISAPI,你不可以依赖flock()去保护文件,相反其他的 PHP 脚本正在同一的服务器的实例中平行线程中运行。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991066/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2406146