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
Форумы портала PHP.SU :: Версия для печати :: Выводит названия файлов, но не загружает.
Форумы портала PHP.SU » » Вопросы новичков » Выводит названия файлов, но не загружает.

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

1. Нуб-2 - 12 Июля, 2017 - 21:00:18 - перейти к сообщению
Почему выводит названия файлов, но не грузит на сервер?
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.    ?>
2. Строитель - 12 Июля, 2017 - 22:18:49 - перейти к сообщению
Нуб-2 пишет:
Почему выводит названия файлов, но не грузит на сервер?
Скорее всего потому, что ваш скрипт ищет файлы там, где их нет. Обратите внимание на эту строку
Спойлер (Отобразить)
В ней переменная $key пуста.

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

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

(Добавление)
И ещё почитайте статьи, как правильно фильтровать принимаемые от пользователя файлы.

 

Powered by ExBB FM 1.0 RC1