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


File upload-how to create destination folder with user name

我需要使用 php 上传文件,我做到了......现在我的问题是我想为每个用户创建一个新文件夹,让我向您解释如何??

我的任务是让用户可以登录并访问他们的帐户和文件上传。如果用户将上传任何文件,它将转到名为"uploads"的目标文件夹。现在我想在上传文件夹中使用上传文件的特定用户名创建新文件夹......所以我想为每个用户创建一个带有用户名的新文件夹......谁能告诉我怎么做???

这是我的目标 php 代码:

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

提前致谢

你要找的是mkdir函数。您可以使用以下命令创建目录:

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

如 PHP 文档中所述。

尝试使用 -

//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'])

使用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

谢谢 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;
    }

再次感谢