制作目录时出错


Error when making directory

我是PHP新手,我正在尝试创建一个目录(为用户),当脚本启动时,我得到一个500错误。

<html>
<head>
    <title>Login</title>
</head>
<body>
    <?php 
        chdir("users");
        mkdir($_POST["username"]);
    ?>
</body>

首先,你的问题可能是由很多原因引起的,所以你需要缩小这些原因:打开错误报告。

第二,使用完整的绝对路径来创建目录,这样你就不会在你的操作系统中迷路了。

如果你想找出问题所在,可以试试下面的命令:

<html>
 <head>
  <title>Login</title>
 </head>
 <body>
  <?php 
    error_reporting(E_ALL);
    mkdir(/home/$_POST["username"]);
  ?>
 </body>

您的错误日志通常会有更详细的错误消息。我猜是权限。

确保你的web服务允许在"user"目录下创建目录

这里最可能的问题是用户文件夹没有www-data作为用户或组,然后写入权限。你应该查找这些东西并设置它们,如果它们不正确。

创建这样一个目录是非常糟糕的做法,但要回答您的问题,您可能需要先检查并确保在尝试使用它之前拥有该变量。这样的。

if(isset($_POST["username"])){
        mkdir($_POST["username"]);
}

原因是post中的变量并不总是在那里,只有当你填充它时才在那里,通常是通过提交表单