我必须在php中创建自定义模块,方案是我正在尝试将用户pdf文档上传到每个用户的单独文件夹中。例如上传文件夹 - &gt; User1文件夹 - &gt; pdf1.pdf。< / p>
对于个人用户,应该只有一个文件夹,以便用户可以在指定的文件夹上上传多个文件。
总结我有一个带有2个浏览按钮的表单,当用户提交文件夹时会在默认文件夹(Uploads)中创建名称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
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="file" name="image2">
<br>
<input type="submit" value="Upload" name="submit">
</form>
答案 0 :(得分:2)
当用户创建了一个带有用户名的uploads文件夹中的目录....上传时就像这样...
$dir_path='uploads/' . $_SESSION['username'] . '/' . $file;
答案 1 :(得分:0)
取决于您存储用户ID的方式,可能类似于:
$path = 'uploads/' . $_SESSION['user-id'] . '/' . $file_name;