当新人在表单上注册时创建文件夹

Der*_*edy 2 php mysql

我正在尝试创建一个名称为人员用户名的文件夹,当他们在php表单上注册时,它会创建一个名为$ username的文件夹.

使用now的表单只是我将用来尝试使其工作的表单的一个小版本.

希望可以有人帮帮我?

<body>
    <form action="index.php" method="post">
        enter name<input type="text" name="user">
        <p>
        <input type="submit" name="submit" value="Upload">
    </form>
</body>

<?php
    if(isset($_POST['submit']))
    {
        include("connect.php");

        $username  = $_POST['user'];

        //Get current working directory
        $curdir = getcwd();

        include("create_folder.php");
        mysql_close($con);
    }
?>

<!--create folder.php-->
<?php
    //Name directory after username
    $uploads_dir = '/$username';

    //make directory writable from everyone
        if(mkdir($curdir . $uploads_dir , 0777)){
            echo "$uploads_dir was made";
            echo "<br>";
        }else{
            echo "Failed to create directory";
        }
?>
Run Code Online (Sandbox Code Playgroud)

Fun*_*ner 10

变量不会在单引号内解析.

$uploads_dir = '/$username';
Run Code Online (Sandbox Code Playgroud)

我需要读作:

$uploads_dir = "/$username";
Run Code Online (Sandbox Code Playgroud)

但是,如果它给您带来麻烦,您可能需要添加完整的系统路径:

即:

$uploads_dir = "/var/users/public_html/members/$username";
Run Code Online (Sandbox Code Playgroud)

旁注:/var/users/public_html/members只是一个例子.你需要填写实际值.

另一个旁注:0777建议不要使用,最好使用0755.

错误报告添加到文件的顶部,这将有助于查找错误.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code
Run Code Online (Sandbox Code Playgroud)

旁注:错误报告应该只在暂存中完成,而不是生产.