php多个进程写文件路径,php 控制多个进程同时读写一个文件
PHP代码<?php
/**
* 写入数据
* @param [string] $path [文件路径]
* @param [string] $mode [文件打开模式]
* @param [string] $data [数据]
* @return [bool]
*/
function writeData($path, $mode, $data){
$fp = fopen($path, $mode);
$retries = 0;
$max_retries = 100;
do {
if ($retries > 0) {
usleep(rand(1, 10000));
}
$retries += 1;
}while (!flock($fp, LOCK_EX) and $retries <= $max_retries);
if ($retries == $max_retries) {
return false;
}
fwrite($fp, $data."\r\n");
flock($fp, LOCK_UN);
fclose($fp);
return true;
}
/**
* 读数据
* @param [string] $path [文件路径]
* @param [string] $mode [文件打开模式]
* @return string
*/
function readData($path,$mode){
$fp = fopen($path, $mode);
$retries = 0;
$max_retries = 100;
do {
if ($retries > 0) {
usleep(rand(1, 10000));
}
$retries += 1;
}while (!flock($fp, LOCK_SH) and $retries <= $max_retries);
if ($retries == $max_retries) {
return false;
}
$contents = "";
while (!feof($fp)) {
$contents .= fread($fp, 8192);
}
flock($fp, LOCK_UN);
fclose($fp);
return $contents;
}
writeData('D:/webServer/demo.txt','a+','this is a demo');
echo readData('D:/webServer','r+');
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php多个进程写文件路径,php 控制多个进程同时读写一个文件相关推荐
- linux怎么让某一个组对一文件可读可写,设置linux文件权限,使得同一用户组的可以对一个文件自由修改...
新添用户,设置权限 新增用户的时候设置用户所属组,将想要一起的用户设置到一个组内 usermod -g 用户组 用户名 #这里将用户的主组设置为这个总组,这里为了再之后创建文件的时候文件所属组为这个组 ...
- 批量上传相册,将一个文件夹下的所有图片,复制到另一个文件夹,仅给出文件夹目录
package cn.hp.demo01;import java.io.*;/* * 批量上传相册 *将一个文件夹下的所有图片,复制到另一个文件夹 *仅给出文件夹目录*/ public class D ...
- 复制文件夹下所有文件(包括子文件夹),到一个文件夹
把子目录文件复制到当前目录 读取文件夹下所有文件路经,包括子文件夹下 import PIL.Image as Image import os import shutil def list_folder ...
- linux整个目录复制移动,Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹,个人常用收录...
1.将一个文件夹下的所有内容复制到另一个文件夹下 cp -r /home/packageA/* /home/cp/packageB/ 或 cp -r /home/packageA/. /home/cp ...
- linux 把一个文件夹重命名后,移动到另外一个文件夹下
linux 把一个文件夹重命名后,移动到另外一个文件夹下 mv /ssd1/AAA/PBMC_rat/RAT/index /ssd1/zhihengfeng/PBMC_rat/star
- makefile obj文件路径_Makefile一问:如何修改.o输出文件的输出路径 Linux/Unix社区 / 程序开......
我在Linux下编成时,用Makefile文件生成的.o文件老是跟我的源文件在同一个目录下,搞得我用TAB键之余还得先再敲.c再TAB,为什么要多敲两次键盘?如果我把所有生成的.o文件放比如./obj ...
- java 字符串 转 文件路径_连接用户输入字符串转换为完整的文件路径(Java)
我写了一个简短的脚本来创建一个文件到我的桌面,文件出现了 . 我只是在main中完成了所有操作,如下所示: import java.io.*; import java.util.Scanner; pu ...
- node 修改html文件路径,好程序员前端教程-nodejs如何读取文件夹目录的内容
好程序员前端教程-nodejs如何读取文件夹目录的内容? 首先,nodejs中文件,目录的操作,我们对fs文件系统分为两类操作,第一类是xxx方法,第二类是xxxSync方法.所有的fs操作几乎都是这 ...
- python如何查询文件路径_Python使用os.listdir和os.walk获取文件路径
情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 在我们的桌面上有一个file目录(文件夹),里面有三个文件 file(dir)| --|test1.txt --|te ...
最新文章
- 不再重复造轮子,AI 给你推荐更好的代码,还没bug
- keras 自定义层 2
- 再见python你好go语言_再见Shell,你好Python
- linux编译安装memcached
- jquery 跨域 没有权限
- 创建一个html网页,创建第一个HTML网页(未完待续)
- webview部分安卓机中文乱码
- 前端学习(715):数组新增元素
- WinSock I/O 模型 -- IOCP 模型
- 华为P50相机新升级:或首发索尼最大底手机CMOS
- Faster-RCNN.Pytorch的使用
- 国内首款、完全自主、基于云架构的三维CAD平台——CrownCAD(皇冠CAD)
- cym : BaseQuickAdapter.setOnItemChildClickListener失效点击没反应
- 厉害!95后2万月薪程序员,背着电脑送外卖,途中还要改bug!
- ubuntu关机、重启、注销命令行指令
- 支付宝手机网页支付接口调用
- beego orm Error 1045 [ORM]2020/06/12 22:17:09 register db Ping `default`, Error 1045: Access denied
- 在佛山如何找到一个高质量的股票交易API平台?
- ECMAScript学习笔记(一)
- 【HTML5示例代码分享】基于CSS3和jQuery的相片墙-ImageWall
热门文章
- pulsar 卸载数据到aws-s3
- Kafka核心源码解析 - KafkaApis源码解析
- 微信公众号自定义菜单设置管理
- SpringBoot集成Shiro进行权限控制和管理
- 安装向导因错误而提前结束_【软件安装】SIMATIC STEP7 V5.6中文版安装教程及错误解决方法...
- C#利用NI VAS采集图片
- C#托管代码调用C++非托管代码
- SP34096 DIVCNTK - Counting Divisors (general)(Min_25筛)
- 排序学习之---插入排序
- 基于表单数据的封装,泛型,反射以及使用BeanUtils进行处理