Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
8 / 8 / 1
Регистрация: 22.02.2012
Сообщений: 168

Создание отдельной папки для каждой загрузки

20.11.2016, 21:53. Показов 2306. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня есть страница с формой для загрузки документов.
Документы отправляются в папку download, которая лежит в корне сайта.
А можно ли сделать так, чтобы при каждой новой отправке создавалась новая папка внутри папки download, чтобы документы разных пользователей загружались в разные папки?
Например, при каждом нажатии на кнопку "Загрузить документы" создавалась папка и документы уходили в нее.
Вот код самой загрузки:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
function upload_file($file)
{
    
    if ($file['name'] == '')
    {
        echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Файл не выбран!"."</p>";
        return;
    }
    
    if(copy($file['tmp_name'], 'download/'.$file['name']))
        {echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Файл успешно загружен"."</p>";}
    else
    {echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Ошибка загрузки файла"."</p>";}
}
 
$dh = scandir('download');
 
foreach ($dh as $file)
{
    if ($file!='.' AND $file!='..') echo '<a href="download/'.$file.'" target="_blank"></a>';
}
?>
    <?php
    if (isset($_FILES['file']))
    {
        upload_file($_FILES['file']);
 
    }
    ?>  
 
    <form method="post" enctype="multipart/form-data" style="width:450px;">
    <h1 style="text-align:center; color:#184A20; margin-top:-20px;">Загрузка заявления</h1>
        <input style="width:400px;" type="file" name="file"/><br>
        <input style="width:400px;" type="submit" value="Загрузить файл!" />   
    </form>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2016, 21:53
Ответы с готовыми решениями:

Создание своей папки для каждой записи
Здравствуйте! Хочу реализовать процедуру, которая при нажатии кнопки в определенной директории создает папку со словом акт и номером...

Как сделать пароль для отдельной папки?
подскажите как мне сделать пароль для отдельной папки на xp?

Задать условие выполнения кода для каждой отдельной страницы
Подскажите пожалуйста как задать условие выполнения кода для каждой отдельной страницы For Each wdPage In ActiveDocument выдает...

29
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.01.2017, 09:45
Студворк — интернет-сервис помощи студентам
мда, запущенный случай. Тогда задам вопрос. А зачем вы вообще используете функции? Вставляйте код каждый раз заново.
А если вы захотите десять файлов загрузить - будете десять функций клепать? Понятие аргумент функции вам ни о чем не говорит?
0
8 / 8 / 1
Регистрация: 22.02.2012
Сообщений: 168
11.01.2017, 10:08  [ТС]
Ну я же меняю: file, file1 и т.д. Но это не работает. Вот я и спрашиваю почему и как быть.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.01.2017, 10:17
Цитата Сообщение от Margo_legion Посмотреть сообщение
Ну я же меняю: file, file1 и т.д.
я потому и спрашиваю, зачем тогда функции? Лепите код "как есть". Или хотя бы почитайте про функции

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
function upload_file($file)
{
    
    if ($file['name'] == '')
    {
        echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Файл не выбран!"."</p>";
        return;
    }
    if(empty($_POST['username']))
        return;
    $username=trim(str_replace(array('.','..', '/'), '', $_POST['username']));
    if(empty($username))
        return ;
    if(!is_dir('download/' . $username))
    mkdir('download/' . $username, 0755);
    if(move_uploaded_file($file['tmp_name'], 'download/' . $username . '/' . $file['name'])  )
        {echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Файл успешно загружен"."</p>";}
    else
    {echo "<p style='text-align:center; width:500px; margin: 0 auto; font-size:20px; 
font-weight:bold; color:#184A20;'>"."Ошибка загрузки файла"."</p>";}
}
 
$dh = scandir('download');
 
foreach ($dh as $file)
{
    if ($file!='.' AND $file!='..') echo '<a href="download/'.$file.'" target="_blank"></a>';
}
        
if (isset($_FILES['file']))
{
    upload_file($_FILES['file']);
}
 
$dh = scandir('download');
 
foreach ($dh as $file1)
{
    if ($file1!='.' AND $file1!='..') echo '<a href="download/'.$file1.'" target="_blank"></a>';
}
        
if (isset($_FILES['file1']))
{
    upload_file($_FILES['file1']);
}
1
8 / 8 / 1
Регистрация: 22.02.2012
Сообщений: 168
11.01.2017, 22:25  [ТС]
Спасибо. Да я понимаю, что такое функция: пишем код один раз и вызываем сколько нужно.
Я просто не поняла, как вызвать ее для разных аргументов.
Еще раз спасибо!
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.01.2017, 23:18
Цитата Сообщение от Margo_legion Посмотреть сообщение
Я просто не поняла, как вызвать ее для разных аргументов.
это как?
функция принимает аргумент, это ясно. а вызов функции для разных аргументов????
0
12.01.2017, 09:45

Не по теме:

Цитата Сообщение от fanatikus Посмотреть сообщение
это как?
посмотрите последний код ТС-а и вы поймете, как..

0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
12.01.2017, 13:11
Цитата Сообщение от KOPOJI Посмотреть сообщение
посмотрите последний код ТС-а и вы поймете, как..

Не по теме:

да я то понял. хотел заострить внимание т.с. может почитает(внимательно) о функциях

0
8 / 8 / 1
Регистрация: 22.02.2012
Сообщений: 168
12.01.2017, 13:36  [ТС]
fanatikus, KOPOJI, все? Акт глумления и демонстрации собственного превосходства можно считать закрытым? Я признаю, что вы в сотни раз лучше разбираетесь в данном вопросе. Я тоже могу прийти во второй класс и кричать, что лучше знаю таблицу умножения.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
12.01.2017, 13:40
Цитата Сообщение от Margo_legion Посмотреть сообщение
Акт глумления и демонстрации собственного превосходства

Не по теме:

даже в мыслях не было такого. просто совет, внимательно читать теорию(и все)

0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.01.2017, 20:28
Margo_legion, вы даже не пытались разобраться. Я несколько раз вам говорил, как это сделать. Результат нулевой. Вывод - вам это все не надо, вы выше чтения мануала. Так кто из нас после этого пытался продемонстрировать свое превосходство?
Это было не "глумление", а констатация факта, не более того.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2017, 20:28

Создание отдельной программы для запуска драйвера
Имеется код драйвера: #include &lt;ntddk.h&gt; NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath); ...

Посчитать количество строк файла, для каждой отдельной строки определить количество символов и слов
В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить количество в ней символов и слов. пожалуйста...

Переадресация на полный адрес в случае загрузки отдельной страницы.
Приветствую! Index.php: &lt;?php $section = $_GET; $page = $_GET; if ($section == '') $section = 'content'; if ($page ==...

обычные папки на флешке становятся скрытыми, а вместо них появляются ярлыки для загрузки вируса
уже второй раз встречаюсь с новым неприятным вирусом. как всегда распространяется на флешках. после действия этого вируса обычные папки...

Открывать последовательно папки, и из каждой папки считать определенный документ
Подскажите, пожалуйста, как открывать последовательно папки(папки годами называются) и из каждой папки считать определенный документ (в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru