PHP文件上传到用户文件夹


PHP file upload to user folder

好,这是我的脚本,注册用户,成功注册后,在用户文件夹中创建用户子文件夹(基于POST_ed用户名)。有两个脚本:register.php和addfile.php。问题是,脚本上传文件到用户文件夹,而不是创建用户的子文件夹。任何想法如何修改脚本,以便将文件上传到用户子文件夹?谢谢你。

session_start();
    if(isset($_SESSION['user']) != '') {
        header ("Location: home.php");
    }
    require_once ('dbconnect.php');
        if(isset($_POST['btn-signup']))
    {
        $uname = mysql_real_escape_string($_POST['uname']);
        $email = mysql_real_escape_string($_POST['email']);
        $upass = mysql_real_escape_string($_POST['pass']);
        $sql = mysql_query ("SELECT username FROM users WHERE username='".$uname."'");
        $num = mysql_num_rows($sql);
            if ($num > 0)  { 
                ?>
                    <script>alert('Duplicate username');</script>
                <?php
            }
                else {
                    if(mysql_query("INSERT INTO users(username,email,password) VALUES('$uname','$email','$upass')")) {
                        ?>
                            <script>alert('Successfully registered');</script>
                        <?php
                        $_SERVER['QUERY_STRING'];
                        $foldername = $_POST['uname'];
                        $path = "users/";
                        $complete = $path.$foldername;
                        if (mkdir($complete, 0770)) {
                            ?>
                                <script>alert('Folder <?php echo "'"$foldername'""; ?> has been created');</script>
                            <?php
                        }
                            else {
                                ?>
                                    <script>alert(Folder not created);</script>
                                <?php
                            }               
                    }
                }   
    }

,这是(addfile.php):

$folder = "users/";
$filename = $_FILES['filep']['name'];
$filedir = $folder.$filename;
if ($_POST['action'] == "Load") {
    if (file_exists($filedir)) {
        ?>
            <script>alert('File" <?php echo $_FILES["filep"]["name"] . "already exists."; ?>');</script>
        <?php
    }
        elseif (move_uploaded_file($_FILES['filep']['tmp_name'], $filedir)) {
            ?>
                <script>alert('File "<?php echo "$filename"; ?> "loaded');</script>
            <?php               
        }
            else {
                ?>
                    <script>alert('File not loaded');</script>
                <?php
            }
}

你只是缺少$_SESSION['user']在你的addfile.php(上传文件只是为用户,所以你需要有你的会话开始与一个填充$_SESSION['user'],如果不是它的概念问题在你的一部分)

$filedir = $folder.$_SESSION['user'].'/'.$filename;

,现在在你的register.php中出现" Successfully registered "警告:

$_SESSION['user'] = $_POST['uname'];

,不要忘记

session_start();