首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP目录存在检查问题

PHP目录存在检查问题
EN

Stack Overflow用户
提问于 2016-05-13 22:47:32
回答 2查看 232关注 0票数 2

我有一个问题,当我用PHP创建一个新的目录时,上传一个文件。

该目录已创建,但如果同一脚本的另一个实例同时运行,则目录存在检查不会正常工作(给出PHP警告)。

有人告诉我这是一个比赛条件,但我仍然有这个问题,因为我增加了一些随机睡眠时间。

代码语言:javascript
复制
usleep(mt_rand(1, 50));

if(!is_dir($dir)){
  mkdir($dir);    
}

usleep(mt_rand(1, 50));

有人能帮上忙吗?

有没有人知道一个文件分成多个部分,同时上传3-4个部分的安全方法?目前,我将上传的部分移动到一个临时目录中(如果同时有更多的部分到达,则is_dir会在临时目录上失败),然后当该目录中的文件数量等于这些部分的组合数量时。但它失败了很多次,有时is_dir会发出警告,有时部件会组合两次……

EN

回答 2

Stack Overflow用户

发布于 2016-05-13 22:59:14

mkdir()成功时返回true,失败时返回false (目录已经存在)。所以你可以把它作为你的条件检查的一部分。

代码语言:javascript
复制
if (!is_dir($dir) && mkdir($dir)) {
    // good to go
}
票数 0
EN

Stack Overflow用户

发布于 2016-05-13 23:04:25

您希望在页面顶部使用clearstatcache()对目录进行测试,以便当前目录结构的系统缓存是最新的。read more here

javascript将文件分成多个部分,并向php发送4个ajax请求,因此php同时接收4个部分。当收到所有部分时,php应该将它们组合在一起,以便在服务器上重新生成文件。

那么为什么要将它们分开,将Ajax作为单个请求发送,然后允许PHP在自己的脚本中处理每个blob文件部分。这将回避这个问题。PHP - with the correct setting up -可以轻松地处理块中的大文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37213104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档