Ваш код загружает все файлы в только одну папку, но из вашего вопроса, я полагаю, что каждый пользователь должен иметь свою собственную папку и каждый пользователь может загрузить файл в чужую папку. Если бы я получил это право, то ваш код должен иметь следующие изменения: Http:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
<input type="text" name="foldername" id="foldername"><br>
<input type="submit" value="submit" name="submit">
</form>
PHP:
<?php
if(isset($_POST['file'])){
$name = $_FILES['file']['name'];
$temp_name = $_FILES['file']['tmp_name'];
if (isset ($_POST['foldername']))
{ $foldername = strip_tags($_POST['foldername']);}
else
{ $foldername = $_SESSION['user_name']; } /* Make the uploader's folder as default, normally are sessions used to login, so I used it in my example */
if(isset($name)){
if(!empty($name)){
$location = 'soumissions/' . $foldername . '/';
if(move_uploaded_file($temp_name, $location.$name)){
echo 'uploaded';
send_message($foldername); /* Call function to message the folder owner where the file was uploaded */
}
}
}else {
echo 'please uploaded';
}
}
?>
И последняя вещь - функция, чтобы отправить сообщение. Самый простой способ - иметь папки, названные так же, как и имена пользователей (или другие сохраненные имена пользователей), особенно те, которые у вас также есть в сеансе, который используется для входа в систему. Тогда $ foldername = $ username, что может вам очень помочь.
function send_message ($user)
{ if ($_SESSION['user_name'] != $user) //to just send messages to other users
{ /* do whatever you want here, you can send e-mail or anything else. As parameter of recipient, use the name of folder that it was uploaded to, assuming it is named same as some user's credentials, for example usernames*/}
}
Также для HTML, вы, вероятно, должны позволить пользователям выбирать из уже существующих папок только, не позволить им загружать в любую папку они хотят. Итак, некоторый список папок вместо ввода текста. Лучший способ для этого - извлечь mysql из всех имен пользователей, сделать соответствующие ему папки и сгенерировать их список в выпадающем меню внутри оригинальной формы.
Резюме:
- Пользователи будут иметь свои собственные папки
- Каждый пользователь может загрузить в папку чьего, когда он будет загружать никому чужой папке, он будет ОТП.СООБЩЕНИЕ
Вы могли бы используйте cronjob, который отправит уведомления и сохранит эти уведомления в базе данных, чтобы вы не отправляли одно и то же уведомление дважды. – machineaddict
Вы можете использовать функцию 'is_uploaded_file()' – Krishna38
, так что скажите нам, что вы один из тех парней, которые задают вопрос, получает ответ, который работает, а затем взлетает, ничего не говоря и не принимающего ответ; Да, я знаю твой тип. –