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)。
相关推荐
主要介绍了PHP文件锁定写入实例解析,需要的朋友可以参考下
在PHP中提供了flock()函数,可以对文件使用锁定机制(锁定或释放文件)。当一个进程在访问文件时加上锁,其他进程要想对该文件进行访问,则必须等到锁定被释放以后。这样就可以避免在并发访问同一个文件时破坏数据。...
第2章 PHP文件实例 实例12 获取文件信息 实例13 文件写入并锁定 实例14 读取文件信息 实例15 随机提取文件行 实例16 获得磁盘剩余空间 实例17 搜索文件或文件夹 实例18 文件下载 实例19 文件上传 实例20 ...
第2章 PHP文件实例 实例12 获取文件信息 实例13 文件写入并锁定 实例14 读取文件信息 实例15 随机提取文件行 实例16 获得磁盘剩余空间 实例17 搜索文件或文件夹 实例18 文件下载 实例19 文件上传 实例20 网页计数器 ...
增加安装锁定机制,重装需重置安装文件。 修复支付宝支付逻辑错误。 UsualToolCMS安装说明 安装地址:setup/index.php,安装网站请按后台提示及时删除安装文件。 必选:MYSQLI扩展 可选:CURL扩展 在安装时,...
本文实例讲述了PHP使用flock实现文件加锁的方法。...简单来说,就是对一个文件进行锁定操作,使得多进程访问该文件时受到限制,从而防止冲突。举个例子: <?php $file = fopen("test.txt","w+")
由于现在写入将被覆盖,因此不再需要文件存在性检查。 对于所有“通过网络文件系统”来说,这都是一个巨大的胜利! 现在,所有适配器都提供了自己的界面,以将可见性输入和配置选项转换为其实现特定的权限。
写入和删除操作使用基本事务语义提交,使用简单的数据库级锁定来防止同时写入,使用早期错误检测和故障自动回滚。 有关其他技术细节,请参阅下面的“限制”。应用程序接口API 由两个类组成: DocumentStore代表与...
Mysql处理程序回退到文件处理程序。 当会话的数据大小超过压缩阈值时,会话数据将被压缩。 支持的压缩库是“ gzip”,“ lzf”,“ lz4”和“ snappy”。 -Gzip速度最慢,但压缩率却最佳。 -Lzf可以通过PECL轻松...
元数据和缓存记录存储在同一个文件中,而不是存储在单独的文件中,从而导致更少的inode和更少的文件统计/读取/写入/锁定/取消链接操作。 而且,由于adler32哈希算法和前缀,原始的哈希目录结构的分布非常差。 多级...
将FTP锁定用户在自己的主目录下。 apache以nobody运行(以独立apache用户更好),读hostuser的脚本文件。 对于要写入的目录uploads和cache,必须设定777,且循环设定其子目录。两个目录禁止脚本执行(.htaccess:...
[√]权限规则和菜单合并(或菜单移到权限规则里)[√]支持手机二级域名,API二级域名(在入口文件处开启)[√]管理员操作日志(目前只写入登录日志)[√]后台管理员登录1个小时内连续失败超过10次,IP锁定2个小时[√...
1、 将文件全部上传至网站目录 2、 执行 http://域名/install/index.php 3、 根据提示输入数据库配置信息进行安装即可 后台默认路径: /admin/index.php 为了安全起见,建议更换后台目录名称 盾灵广告联盟...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...