Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598

Загрузка файлов на сервер

20.12.2020, 08:13. Показов 2851. Ответов 8

Студворк — интернет-сервис помощи студентам
Всем добрый день, подскжаите плз) никогда норм не получалось организовать загрузку файлов на сервер
HTML5
1
2
3
4
5
6
<form action="save.php" method="POST">
                                        <input name="file1"  type="file"  class="form-control" >
                                        <input name="file2"  type="file"  class="form-control" >
                                        <input name="file3"  type="file"  class="form-control" >
                                        <input name="file4"  type="file"  class="form-control" >
</form>
Вот есть форма загрузки, мне нужно загружать только фото, переименовать файл, добавив rand(1111,9999) в конец файла, чтобы имена не пересекались, записать имя в базу и положить его в папку files.

Не могу загрузить файл, что не делаю пишет файл не загружен, пробовал втыкать код с поиска, но не работает( подскажите, а лучше научите с объяснениями Люди добрые
Очень нужна ваша помощь

Добавлено через 24 минуты
забыл написать, submit тоже есть, это я просто абстрактный пример привел
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2020, 08:13
Ответы с готовыми решениями:

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

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

Загрузка файлов на удаленный сервер
Всем доброго времени суток. Есть сайт и есть сервер с картинками, видео и.т.д. Соответственно у сайта свой сервер, у файлового хранилища...

8
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
20.12.2020, 16:41
Замечание:

Также следует убедиться, что форма загрузки имеет атрибут enctype="multipart/form-data", в противном случае загрузка файлов на сервер не произойдет.
Загрузка файлов методом POST

Добавлено через 2 минуты
Люди добрые уже все в документации подсказали и объяснили
1
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598
23.12.2020, 11:32  [ТС]
Скопировал форму по ссылке:
HTML5
1
2
3
4
5
6
7
<form enctype="multipart/form-data" action="load.php" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Отправить файл" />
</form>
вот код обработчика:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$uploaddir = '/upload';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл корректен и был успешно загружен.\n";
} else {
    echo "Возможная атака с помощью файловой загрузки!\n";
}
 
echo 'Некоторая отладочная информация:';
print_r($_FILES);
 
print "</pre>";
 
?>
Взят оттуда же, не работает. Вот что выдает:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
Возможная атака с помощью файловой загрузки!
Некоторая отладочная информация:Array
(
    [userfile] => Array
        (
            [name] => 1.jpg
            [type] => 
            [tmp_name] => 
            [error] => 2
            [size] => 0
        )
 
)
Загружаю обычную картинку .jpg Каталог загрузки upload находится в том же каталоге, как так то, обьясните что не так

права на директорию 777
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
23.12.2020, 12:50
так читать же надо те же мануалы.
Цитата Сообщение от fidel42rus Посмотреть сообщение
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
это поле ограничивает максимальный размер файла.
Цитата Сообщение от fidel42rus Посмотреть сообщение
[error] => 2
об этом сообщает. коды ошибок $_FILES вся информация в том же источнике, который был раньше указан

Добавлено через 2 минуты
читайте документацию, там все понятно объясняется.
1
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598
23.12.2020, 13:20  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
Возможная атака с помощью файловой загрузки!
Некоторая отладочная информация:Array
(
    [userfile] => Array
        (
            [name] => photo_2020-11-27_12-13-06.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpfsDH38
            [error] => 0
            [size] => 58638
        )
 
)
Теперь пишет 0, но все равно не загружает, в документации 0 говорит что все хорошо и он должен быть загружен

Добавлено через 5 минут
В чем прдвох то
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
23.12.2020, 13:45
Лучший ответ Сообщение было отмечено fidel42rus как решение

Решение

файл успешно загружен с формы. но в директорию вы его сохранить не можете почему-то. наверное, ее неправильно указали. может, надо
PHP
1
2
3
$uploaddir = '/upload/'; 
$uploaddir = './upload/';
$uploaddir = '../upload/';
надо смотреть структуру ваших папок. но последний слеш должен быть обязательно, а он у вас пропущен. в итоге название файла сливается с названием директории.
1
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598
13.01.2021, 06:27  [ТС]
Получилось))) отложил загрузку фотографий в долгий ящик)) сегодня зашел на форум, вспомнил, и сразу вышло. Да на самом деле добавил / и файл загрузил, но ошибка все равно вылезла, в итоге просто убрал вывод и осталось:


PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$id=$_GET['id'];
$uploaddir = 'upload/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
 header("Location: edit.php?id=".$id);
  break;
} else {
    echo "Ошибка загрузки файла, выберите формат .jpg, либо jpeg!";
}
?>
В целом работает) Сейчас добавлю рандом из цифр на конец имени файла чтобы не перезаписывались
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
13.01.2021, 11:15
fidel42rus, break тут ни к чему. вместо него можно exit;, чтобы остановить выполнение кода.
что за ошибка?
Цитата Сообщение от fidel42rus Посмотреть сообщение
ошибка все равно вылезла
если код планируете использовать на реальном сайте, то почитайте здесь про безопасность при загрузке файлов на сервер.
1
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598
14.01.2021, 06:57  [ТС]
ошибка 0, но пишет что не получилось загрузить, хотя получилось. Нам для внутренних нужд, это нужно было, поэтому не страшно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2021, 06:57
Помогаю со студенческими работами здесь

Загрузка файлов на другой сервер
Ситуация: мало места на хостинге, есть вариант взять дешёвый хостинг с большим объёмом и трафиком, но не удовлетворяют остальные условия...

Редактор статьи + загрузка файлов на сервер
Здравствуйте! Делаю на выпускную работу простенький сайт. Нужно сделать простой редактор с двумя формами с названием статьи и текстом. Так...

PHP. Загрузка файлов на сервер. Максимальная длинна имени файла
Здравствуйте уважаемые коллеги. :hi Расскажу о своей ситуации для общего рассмотрения. Итак: FreeBSD 8.2, Веб-сервер апач 2_2, php 5.x....

Не удается загрузка нескольких файлов на сервер. Грешу на настройки php
Прошу помочь разобраться. Создал форму загрузки файлов (фотографий). В обработчике создал функцию загрузки этий файлов. Но! На...

Загрузка файлов на сервер
Подскажите пожалста, есть код: &lt;div id = &quot;buttn&quot;&gt; &lt;div id = &quot;btn_open&quot;&gt; &lt;input type='file' id=&quot;files&quot; name=&quot;files&quot;...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru