Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выводит названия файлов, но не загружает.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Нуб-2
Отправлено: 12 Июля, 2017 - 21:00:18
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)

[+]


Почему выводит названия файлов, но не грузит на сервер?
CODE (html):
скопировать код в буфер обмена
  1. <form id="form" name="upload" action="upload.php" method="POST" ENCTYPE="multipart/form-data">
  2.    Выберите файл для загрузки:
  3.    <input type="file" name="userfile[]"  multiple>
  4.    <input type="submit" name="upload" value="Загрузить">
  5. </form>
PHP:
скопировать код в буфер обмена
  1. <?
  2.    $uploads_dir = '/uploads';
  3.          if(isset($_POST['upload'])) {
  4.          for($i=0;$i<count($_FILES['userfile']['name']);$i++) {
  5.             if(!is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) {
  6.                echo 'файл не загружен';
  7.             } else {
  8.                    $tmp_name = $_FILES['userfile']["tmp_name"][$key];
  9.                   echo move_uploaded_file($tmp_name, "$uploads_dir/$tmp_name");
  10.                   echo "<pre>";
  11.                echo $_FILES['userfile']['name'][$i];
  12.                  echo "/<pre>";
  13.             }
  14.          }
  15.       }
  16.    ?>
 
 Top
Строитель Модератор
Отправлено: 12 Июля, 2017 - 22:18:49
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Нуб-2 пишет:
Почему выводит названия файлов, но не грузит на сервер?
Скорее всего потому, что ваш скрипт ищет файлы там, где их нет. Обратите внимание на эту строку
Спойлер (Отобразить)
В ней переменная $key пуста.

Далее, в строке
Спойлер (Отобразить)
оператор echo явно лишний, а переменная $tmp_name содержит имена временных файлов, и я уверен - вам не такой был нужен результат.

Ну и ещё, если вы решили работать с какой-то папкой, то желательно проверять её наличие, а в случае её отсутствия - создавать. С учётом этих замечаний, скрипт будет выглядеть так
Спойлер (Отобразить)
Спойлер (Отобразить)

(Добавление)
И ещё почитайте статьи, как правильно фильтровать принимаемые от пользователя файлы.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB