当前位置: 首页 > 知识库问答 >
问题:

PHP目录存在检查问题

廖绍辉
2023-03-14

上载文件时,我用PHP创建新目录时遇到问题。

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

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

usleep(mt_rand(1, 50));

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

usleep(mt_rand(1, 50));

有人能帮忙吗?

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

共有2个答案

袁羽
2023-03-14

您想在页面顶部使用clearstatache()测试目录,以便当前目录结构的系统缓存是新鲜的

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

那么,为什么要将它们分开,将Ajax作为单个请求发送,然后允许PHP在自己的脚本中处理每个Blob文件部分呢?这将回避这个问题。通过正确的设置,PHP可以轻松地处理块块中的大文件。

卞经业
2023-03-14

mkdir()成功时返回true,失败时返回false(dir已存在)。因此,您可以将其用作条件检查的一部分。

if (!is_dir($dir) && mkdir($dir)) {
    // good to go
}
 类似资料:
  • 问题内容: 如何检查C语言在Linux上是否存在目录? 问题答案: 您可以使用并检查是否失败:

  • 本文向大家介绍Node.js 检查文件或目录是否存在,包括了Node.js 检查文件或目录是否存在的使用技巧和注意事项,需要的朋友参考一下 示例 异步地 同步地 在这里,我们必须将函数调用包装在一个try/catch块中以处理错误。            

  • 问题内容: 我想检查我的Go代码中文件的存在,但是我找不到一种好的方法。 我知道有一种Java中的File方法:如果文件或目录存在,则返回true。 但是如何在Go中完成呢? 问题答案: 编辑以添加错误处理。

  • 是否有任何函数可以在不知道文件目录的情况下使用PHP响应文件是否存在? 到目前为止,PHP中有两个函数is_file()和is_dir()用于处理文件。但这一次,我认为这两个将无法有效地满足我的要求。为什么? 假设在我的项目的根目录中有12个子目录,每个子目录可以有自己的子目录以及其他有效文件。 现在,我将在文本框中放置一个文件名[仅文件名,而非完整路径],当我单击搜索按钮时,如果文件存在于根目录

  • 问题内容: 如何使用 node.js 同步检查文件或目录是否存在? 问题答案: 多年来,这个问题的答案已经改变。在 目前的 答案是在此间举行的顶部,然后用按时间顺序多年的各种答案: 当前答案 您可以使用: 它已被弃用了几年,但现在已不再使用。从文档: 请注意,不建议使用,但不建议使用。(用于接受与其他Node.js回调不一致的参数的回调参数。不使用回调。) 您已经明确要求进行 同步 检查,但是如果

  • 问题内容: 这可能是一件容易的事,但是我是一个业余爱好者,事情对我来说并不奏效。 我只想检查$ lectureName显示的行是否存在。如果某行确实存在$ lectureName,我希望该函数返回“ assigned”(如果没有),则它应返回“ available”。这就是我所拥有的。我相当确定这是一团糟。请帮忙。 当我这样做时,所有返回的内容都是可用的,即使应该返回已分配的内容。 问题答案: 这