【问题标题】:php mkdir() not working properlyphp mkdir() 无法正常工作
【发布时间】:2013-06-21 19:06:27
【问题描述】:

我似乎无法弄清楚这一点。在这一点上,我意识到这一定是一个让我失望的简单语法问题,我对 PHP 还很陌生,所以我要感谢我的菜鸟。

我正在尝试在现有目录 ($w_type) 中创建子目录 ($slugTitle),但无法创建目录。

这是我的代码:

        $path1 = "/".$w_type."/".$slugTitle;
        $path2 = "/".$w_type."/".$slugTitle."/images";
        $mode = 0777;

        mkdir($path1);
        mkdir($path2);

我也试过了:

        $path1 = "/".$w_type."/".$slugTitle;
        $path2 = "/".$w_type."/".$slugTitle."/images";
        $mode = 0777;

        mkdir($path1,$mode,TRUE);
        mkdir($path2,$mode,TRUE);

现在还是很幸运。相反,我得到了名为 " 的目录,而不是在已经存在的目录中创建目录。

请帮忙!谢谢!

-乔希

【问题讨论】:

  • 我已经搜索了所有其他 php mkdir() 相关的帖子,但似乎没有一个可以解决我的问题。虽然我的问题不是唯一的,但我需要针对具体案例的指导,因为没有任何效果,而且我几乎把所有头发都扯掉了。
  • 完成任何基本调试,例如var_dump($path1)?确认 w_type 和 slugTitle 变量包含在目录名称上下文中有效的内容?
  • 你有权限在根路径下创建目录吗?
  • @MarcB 是的,$path1 的输出返回/existig-directory/new-subdirectory$path2 返回/existing-directory/new-subdirectory/images。应该在任何地方添加引号吗? @Skpd 是的,我确实有权在根路径中创建目录。
  • 不,没有引号,除非您希望引号成为新目录的一部分。

标签: php directory mkdir


【解决方案1】:

您尝试将目录添加到根目录

尝试改变

$path1 = "/".$w_type."/".$slugTitle;

$path1 = "/tmp/".$w_type."/".$slugTitle;

或发送至dirname (__FILE__) .$w_type."/".$slugTitle;

【讨论】:

  • 感谢@zool,但这没有用。它仍然没有做任何事情。
【解决方案2】:

试试这个,

$path1 = "./".$w_type."/".$slugTitle; 

【讨论】:

    【解决方案3】:

    我一直很难使用 mkdir() 让它在使用 CakePHP 的 Windows 中运行。

    这在 Windows 中无法正常工作

    mkdir($this -> webroot . "uploads/abc");
    

    改用这个

    mkdir(getCwd() . "/uploads/abc");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-06
      • 2012-09-16
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 2019-01-13
      • 2021-08-16
      相关资源
      最近更新 更多