【问题标题】:PHP mkdir creating duplicate foldersPHP mkdir 创建重复文件夹
【发布时间】:2013-08-27 16:29:19
【问题描述】:

我正在尝试使用来自数据库的信息自动创建文件夹,并且出于某种原因,即使两个迭代具有相同的值,它也会创建一个额外的文件夹而不是将文件放在同一个文件夹中。我已经在脚本中注释掉了除这一行之外的所有内容,而且它仍在这样做,所以我知道这是罪魁祸首。这是我的代码:

if (!is_dir($state."/".$county."-County")) {
    mkdir($state."/".$county."-County");
}

感谢您的帮助!

编辑:

文件夹结构如下:

California
    Alameda-County
    Alameda-County

完全一样。

【问题讨论】:

  • 大小写不同吗? MyFolder 和 myFolder 和 myfolder 在某些操作系统上是完全不同的名称。
  • 您能否附上屏幕截图或文件/目录列表以帮助澄清问题?
  • it's creating an extra folder 这个额外的“文件夹”的名称是什么,如果state 文件夹不存在,你会得到一个错误,如果你不确定它在那里,你应该使用递归标志, mkdir($path, null, true);
  • 我在原帖中添加了生成的文件夹结构。它绝对是相同的。我傻眼了。

标签: php mkdir


【解决方案1】:

您确定两个调用具有完全相同的值吗?有许多角色看起来相同,但内部却根本不同。如果您想确保使用完全相同的值,则不要执行两次路径构建操作。做一次:

$path = $state . "/" . $county . "-County";
if(!is_dir($path)) {
    mkdir($path);
}

【讨论】:

  • 没有意义。如果条目已作为 file 存在,则您不能将条目创建为 dir
  • 您还应该将案件提交给$state 和$country,如下所示:ucfirst(strtolower($state)) 和ucfirst(strtolower($country))
  • 它们绝对是完全相同的值。
  • @RyanNaddy 天哪,我不敢相信我做到了。我是套管,但我没有修剪。
猜你喜欢
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
相关资源
最近更新 更多