我是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中的变量并不总是在那里,只有当你填充它时才在那里,通常是通过提交表单