定义和用法

flock() 函数锁定或释放文件。

如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法

flock(file,lock,block)
参数 描述
file 必需。规定要锁定或释放的已打开的文件。
lock 必需。规定要使用哪种锁定类型。

可能的值:

  • LOCK_SH - 共享锁定(读取的程序)。允许其他进程访问该文件。
  • LOCK_EX - 独占锁定(写入的程序)。防止其他进程访问该文件。
  • LOCK_UN - 释放一个共享锁定或独占锁定
  • LOCK_NB - 锁定的情况下避免阻塞其他进程。
block 可选。若设置为 1,则当进行锁定时阻塞其他进程。

提示和注释

注释:这些锁仅在当前的 PHP 进程中使用。如果权限允许,其他的进程可修改或删除一个 PHP-locked 文件。

注释:flock() 在 Windows 下具有强制性。

提示:可以通过 fclose() 来释放锁定操作,脚本执行完成时会自动调用。


实例

<?php

$file = fopen("test.txt","w+");

// exclusive lock
if (flock($file,LOCK_EX))
{
fwrite($file,"Write something");
// release lock
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}高佣联盟 www.cgewang.com

fclose($file);
?>

PHP flock() 函数的更多相关文章

  1. PHP flock() 函数

    定义和用法 flock() 函数锁定或释放文件. 若成功,则返回 true.若失败,则返回 false. 语法 flock(file,lock,block) 参数 描述 file 必需.规定要锁定或释 ...

  2. linux之flock函数锁文件

    头文件  #include<sys/file.h> 定义函数  int flock(int fd,int operation); 函数说明  flock()会依参数operation所指定 ...

  3. linux下C语言中的flock函数用法 【转】

    表头文件  #include<sys/file.h> 定义函数  int flock(int fd,int operation); 函数说明  flock()会依参数operation所指 ...

  4. linux下C语言中的flock函数使用方法 .

    表头文件  #include<sys/file.h> 定义函数  int flock(int fd,int operation); 函数说明  flock()会依參数operation所指 ...

  5. [Linux][函数]flock函数的用法

    表头文件  #include<sys/file.h> 定义函数  int flock(int fd,int operation); 函数说明  flock()会依参数operation所指 ...

  6. linxu c语言 fcntl函数和flock函数区别 【转】

    flock和fcntl都有锁的功能,但他们还有一点小小的区别: 1.flock只能加全局锁,fcntl可以加全局锁也可以加局部锁. 2.当一个进程用flock给一个文件加锁时,用另一个进程再给这个文件 ...

  7. PHP flock() 函数 php中的文件锁定机制

    举一个例子: 假设一个文件读取的过程,有数万人在同时操作,那么极可能a用户刚刚写入,b用户也写入了,两者以至于混乱,或者在读取的时候,读取到别人写的数据.就好比上公共厕所,去厕所的时候要把门给打开上, ...

  8. perl学习之FLOCK函数的调用(讲的非常好)

    一段演示flock系统调用的perl程序http://www.extmail.org/forum/viewthread.php?tid=1066

  9. PHP常用函数大全

    usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...

随机推荐

  1. Python语法的使用和简介

    前言 Python的语法和其它编程语言的语法有所不同,编写Paython程序之前需要对语法有所了解,才能编写规范的Python程序. 输入输出 print() # 打印显示input() # 输入内容 ...

  2. 线下---复习day01

    目录 1 个人介绍 2 关于编辑器 3 基础串讲 3.1 解释型和编译型 3.2 数据类型 3.2.1 一切皆对象 3.2.1 深浅copy 3.2.3 可变类型与不可变类型 3.3 字符编码 3.4 ...

  3. C++左值引用与右值引用

    本文翻译自:https://docs.microsoft.com/en-us/cpp/cpp/references-cpp?view=vs-2019 引用,类似于指针,用于存储一个位于内存某处的对象的 ...

  4. JS 判断是否为数字 数字型特殊值

    JS 数字型三个特殊值 Infinity ,代表无穷大,大于任何数值 -Infinity ,代表无穷小,小于任何数值 NaN ,Not a number,代表一个非数值  isNaN的使用: isNa ...

  5. JavaScript动画实例:螺旋线

    数学中有各式各样富含诗意的曲线,螺旋线就是其中比较特别的一类.螺旋线这个名词来源于希腊文,它的原意是“旋卷”或“缠卷”.例如,平面螺旋便是以一个固定点开始向外逐圈旋绕而形成的曲线.在2000多年以前, ...

  6. 各种jar包下载地址

    standard.jar和jstl.jar的下载地址 http://repo2.maven.org/maven2/javax/servlet/jstl/ http://repo2.maven.org/ ...

  7. INS-40718 和 INS - 30516

    RAC  安装的时候报错, INS-40718 这个是自己填写的  scan name 和 /etc/hosts  里定义的不一致  可以cat   /etc/hosts   看一下 INS - 30 ...

  8. 由一个计数器出发:关于vue使用独立js文件的问题

    最近有个vue项目要用ztree. 然后,我想把一些逻辑提出来作为公共的方法,放到独立的js文件里. ztreeTool.js import $ from 'jquery' export defaul ...

  9. 通过PHP工具箱-站点域名管理(创建本地虚拟主机)

    工具:php程序员工具箱(网上很多请自己搜索下载) 1.点击其它选项菜单 -> 选择站点域名管理.如下图 2.进入站点域名管理.如下图(初始的时候,站点为空) 3.设置站点管理.如下图 网站域名 ...

  10. PyQt5基础控件

    QLabel标签 功能:在界面上显示文字.图片.链接等 接口: 方法 描述 setText() 设置显示的内容 setAlignment() 设置文字对齐方式 setToolTip() 设置提示信息 ...