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

标签 php mysql

当他们在 php 表单上注册时,我试图创建一个名为用户名的文件夹,但它创建了一个名为 $username 的文件夹。

我现在使用的表单只是我将用来尝试让它工作的表单的一个小版本。

希望有人能帮助我?

<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";
        }
?>

最佳答案

单引号内的变量不会被解析。

$uploads_dir = '/$username';

我需要读作:

$uploads_dir = "/$username";

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

即:

$uploads_dir = "/var/users/public_html/members/$username";

旁注:/var/users/public_html/members 只是一个例子。您需要填写实际情况。

另一个旁注:不推荐使用 0777,最好使用 0755

添加error reporting到您的文件的顶部,这将有助于查找错误。

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

// rest of your code

旁注:错误报告只应在试运行中进行,绝不能在生产中进行。

关于php - 当新人在表单上注册时创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413232/

相关文章:

php - 需要使用什么 sniff 来强制执行驼峰式变量命名约定?

php - 在 Siteground 共享主机帐户上使用 cPanel LiveAPI PHP 类

mysql - 为什么MySQL隐式地将没有数据转换为空字符串?

javascript - 无法检索全日历事件的时间和日期

php - 使用 AJAX/jQuery 删除 mysql 中的行(Zend Framework 1.12)

javascript - 无法使用ajax将数据发送到我的php

php - 将 'id' 从一个 php 页面传递到另一个 php 页面

php - 用 php 交换数组值

php - mySQL - 在一个查询中使用两个 JOIN?

php - 如何选择所有行的 HTML 表格