文件上传 - 如何使用用户名创建目标文件夹

时间:2015-01-29 07:24:47

标签: php

我需要使用php上传文件并完成它...现在我的问题是我想为每个用户创建一个新文件夹让我向你解释如何?

我的任务是让用户可以登录并访问他们的帐户和文件上传。如果用户将上传任何文件,则会转到名为“uploads”的目标文件夹。现在我想在uploads文件夹中使用上传文件的特定用户名创建新文件夹...所以我想为每个用户创建新文件夹及其用户名...任何人都可以告诉我如何做到这一点? ?

这是我的目的地的PHP代码:

if(move_uploaded_file($_FILES['upl']['tmp_name'], '../uploads/'.$_FILES['upl']['name']))    
{

echo '{"status":"success"}';

exit;    
}

提前致谢

4 个答案:

答案 0 :(得分:0)

尝试 -

//check if the folder not exists then create it
if (!file_exists('<rootpath>/<username>')) { //<rootpath> will be the path from document root and <username> will be the username you want
   mkdir('<rootpath>/<username>');
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], '<path>/<username>/'.$_FILES['upl']['name']))    // <path> be the relative path
{

echo '{"status":"success"}';

exit;    
}

假设您要在uploads/username文件夹中上传文件。

$path = $_SERVER['DOCUMENT_ROOT'].'/uploads';

现在创建文件夹 -

mkdir($path."/".$username); //$username be the username you want

现在上传文件

move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$username.'/'.$_FILES['upl']['name'])

答案 1 :(得分:0)

您正在寻找的是mkdir功能。您可以使用以下命令创建目录:

mkdir('/path/to/dir', 0700);

PHP documentation中所述。

答案 2 :(得分:0)

使用mkdir()功能在用户注册时创建文件夹。

登录后,创建一个存储用户名的$_SESSION变量。

使用move_uploaded_file()函数时,将会话变量添加到路径。

move_uploaded_file($_FILES['upl']['tmp_name'], '../uploads/'.$_SESSION['username'].'/'.$_FILES['upl']['name'])

http://php.net/manual/en/function.mkdir.php

http://php.net/manual/en/reserved.variables.session.php

答案 3 :(得分:0)

谢谢SGT ......我得到了这段代码的答案

$userfolder = $_SESSION['email'];
//echo $userfolder;
$path = $_SERVER['DOCUMENT_ROOT'].'register/uploads';

if (!file_exists('$path')) {
    mkdir($path."/".$userfolder);
}
    if(move_uploaded_file($_FILES['upl']['tmp_name'], '../uploads/'.$userfolder.'/'.$_FILES['upl']['name'])){
        echo '{"status":"success"}';
        exit;
    }

再次感谢