Я должен создать настраиваемый модуль в php, сценарий – я пытаюсь загрузить PDF-документы пользователя в отдельную папку для каждого пользователя. Например, папка Upload -> User1 folder -> pdf1.pdf.
для индивидуализированного пользователя должна быть только одна папка, чтобы пользователь мог загружать несколько документов в назначенную папку.
В заключение у меня есть форма с двумя кнопками просмотра, когда пользователь отправляет папку, создается внутри папки (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>
когда пользователь создал каталог в папке uploads с именем пользователя …. при загрузке сделайте вот так …
$dir_path='uploads/' . $_SESSION['username'] . '/' . $file;
В зависимости от того, как вы храните свои идентификаторы пользователей, может быть что-то вроде:
$path = 'uploads/' . $_SESSION['user-id'] . '/' . $file_name;