Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 每个用户的特定文件夹_Php - Fatal编程技术网

Php 每个用户的特定文件夹

Php 每个用户的特定文件夹,php,Php,我必须在php中创建一个自定义模块,场景是我尝试将用户pdf文档上载到每个用户的单独文件夹中。例如,上载文件夹-->用户1文件夹-->pdf1.pdf 对于个人用户,应该只有一个文件夹,以便用户可以在指定的文件夹上上载多个文档 总而言之,我有一个带有2个浏览按钮的表单,当用户提交一个文件夹时,将在默认文件夹(上传)名称User1中创建一个文件夹,然后他的所有3个文档都应上传到User1文件夹中 我可以很容易地上传主上传文件夹上的文件,但无法将文件移动到特定的用户文件夹 <?php if (

我必须在php中创建一个自定义模块,场景是我尝试将用户pdf文档上载到每个用户的单独文件夹中。例如,上载文件夹-->用户1文件夹-->pdf1.pdf

对于个人用户,应该只有一个文件夹,以便用户可以在指定的文件夹上上载多个文档

总而言之,我有一个带有2个浏览按钮的表单,当用户提交一个文件夹时,将在默认文件夹(上传)名称User1中创建一个文件夹,然后他的所有3个文档都应上传到User1文件夹中

我可以很容易地上传主上传文件夹上的文件,但无法将文件移动到特定的用户文件夹

<?php
if ($_POST['submit']) {
    if (isset($_FILES['image'])) {
        $errors = array();
        $file_name = $_FILES['image']['name'];
        $file_size = $_FILES['image']['size'];
        $file_tmp = $_FILES['image']['tmp_name'];
        $file_type = $_FILES['image']['type'];

        $file_ext = strtolower(end(explode('.', $_FILES['image']['name'])));
        $extensions = array("pdf", "docx", "doc");

        if (in_array($file_ext, $extensions) === false) {
            echo "Extension not allowed, please choose a pdf,docx or doc format.";
        }
        if ($file_size > 2097152) {
            echo 'File size must be exactly 2 MB';
        }
        if (empty($errors) == true) {
            $path = 'uploads/' . $file_name;

            //mkdir($path, 0777, true);
            //$dirn=mkdir('uploads/'.$file_name,0777,true);


            move_uploaded_file($file_tmp, $path);

            echo "Success";
        } else {
            print_r($errors);
        }
    }
}
?>

Html




取决于您存储用户ID的方式,可能类似于:

$path = 'uploads/' . $_SESSION['user-id'] . '/' . $file_name;

当用户创建时,在上载文件夹中创建一个用户名为的目录…在上载时,请执行以下操作

$dir_path='uploads/' . $_SESSION['username'] . '/' . $file;

但是我必须为每一个创建文件夹??不是吗???@user2451541这取决于,你不一定非得,它取决于用户的数量等。你可以通过将其存储在下一个文件或数据库中来跟踪用户拥有哪些文件。您还可以根据每个用户的用户id将每个单独的文件命名为前缀或其他名称。基本上,这取决于您的需要,如果您的用户很少,那么为每个用户创建一个文件夹是有意义的,但在其他情况下,您必须考虑。您也可以在提交时使用exec(“mkdir/uploads/”。$\u SESSION['username']”之类的工具创建文件夹
$dir_path='uploads/' . $_SESSION['username'] . '/' . $file;