【问题标题】:What is wrong with this PHP script?这个 PHP 脚本有什么问题?
【发布时间】:2011-05-06 22:57:49
【问题描述】:

以下脚本不执行:

<?php

    $year = date(Y);
    $month = date(M);
    $dirloc = "/images/".$year."/".$month;
    mkdir($dirloc, 0700);

?>

为什么?

谢谢

【问题讨论】:

  • 您有权限创建新目录吗?
  • 你有什么错误吗?

标签: php date mkdir


【解决方案1】:

您提供的路径是绝对路径,您可能无权在那里创建目录或文件。如果要在当前工作目录(运行脚本的目录)中创建目录,请尝试

$dirloc = "images/".$year."/".$month;

您似乎还想创建多个文件夹。如果父文件夹不存在,mkdir 会失败,如果您不允许它递归地创建父文件夹。

mkdir($dirloc, 0700, true);
                  // = recursive

【讨论】:

    【解决方案2】:

    你忘记了引号:

    <?php
    
    $year = date("Y");
    $month = date("M");
    $dirloc = "/images/".$year."/".$month;
    mkdir($dirloc, 0700);
    
    ?>
    

    【讨论】:

    • 这不应该导致错误,因为每个未定义的常量都被视为一个字符串。
    • @PENDO: 只需启用E_NOTICE ;) PHP Notice: Use of undefined constant A - assumed 'A' (为了更好的开发E_ALL | E_STRICT。这就是一切。)
    【解决方案3】:

    对 date() 函数使用引号:

    $year = date("Y");
    $month = date("M");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 2015-10-27
      • 2015-05-24
      • 1970-01-01
      相关资源
      最近更新 更多