Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
1

Множественная закачка файлов

22.10.2013, 03:17. Показов 2163. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Я все с той же проблемой. Тут дали мне скрипт множественной загрузки файлов. Я его немного переписал и отдебажил. Но проблема состоит в том, что данный скрипт загружает только один файл, а не множество(первый файл).
Скрипт:
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
<?php
error_reporting(E_ALL);
$errors='';
function upload($path){
  require_once 'config.php';
  if (!isset($_FILES['file']))
    return 'Ошибка массива';
  $addMoroPhoto = array_filter($_FILES['file']['name']);           
  if (sizeof($addMoroPhoto) < 0)
    return 'Ошибка sizeof';
  foreach ($addMoroPhoto as $key => $name){
    $type = $_FILES['file']['type'][$key];
    $tmp_name = $_FILES['file']['tmp_name'][$key];
    $size = $_FILES['file']['size'][$key];
    $type = pathinfo($addMoroPhoto[$key], PATHINFO_EXTENSION);
  }
  echo var_dump($type);
  $i = 0;
  while(file_exists($filename = ++$i . '.' . $type))
    ;
  if(!file_exists($path))
    return 'Такой папки не существует!';
  $destination = $path . '/' . $filename;
  if (!move_uploaded_file($tmp_name, $destination))
    return 'Ошибка загрузки файла';
  chmod($destination, 0777);
  $errors=connect();
  $q=mysql_query('UPDATE `index` SET `images`="'.$path.'"') or die(mysql_error());
  header('Location:'.$site.'/panel/scripts/admin.php');
}
?>
html
HTML5
1
2
3
4
5
6
7
<form method="post" enctype="multipart/form-data" action="direction.php">
                Введите название директории(Русккое название):<br />
                <input type="text" name="dir" /><br />
                Загрузите картинки(возможна множественная загрузка):<br />
                <input type="file" name="file[]" multiple="true" /><br />
                <input type="submit" name="button"/><br />
            </form>
Моя догадка состоит в том, что просто не хватает цикла для загрузки. Для move_upload_file. Но как его организовать?

P.S. да и еще мини вопрос:
Не могу понять, почему здесь у radiobutton не появляется value
HTML5
1
2
3
4
5
6
7
8
9
            <form action="videoweather.php" method="post">
                <h3>Погода</h3>
                <input type="radio" name="weather" value="Вывести погоду" <?php $check=($row1['weather'] == 1) ? 'checked' : ''; echo $check; ?> /><br />
                <input type="radio" name="weather" value="Не выводить погоду" <?php $check=($row1['weather'] == 0) ? 'checked' : ''; echo $check; ?> />
                <h3>Видео</h3>
                <input type="radio" name="video" value="Активировать видео" <?php $check=($row1['video'] == 1) ? 'checked' : ''; echo $check; ?> /><br />
                <input type="radio" name="video" value="Не активировать видео" <?php $check=($row1['video'] == 0) ? 'checked' : ''; echo $check; ?> /><br />
                <input type="submit" name="button" />
            </form>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2013, 03:17
Ответы с готовыми решениями:

Множественная закачка файлов
Здравствуйте. Потребовался скрипт множественной закачки файлов. И появился небольшой вопрос ...

Множественная загрузка файлов на сервер
Добрый день. Подскажите скрипт для массовой загрузки изображений на сервер и записью их к...

Закачка файлов
Здравствуйте. Я уже спрашивал тут про множественную закачку файлов, и мне скинули вот этот скрипт:...

Закачка из сети неограниченного количества файлов
Здравствуйте! Возникла задача качать файлы из сети по спискам урлов. Качать ли на свой сервер или...

4
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
22.10.2013, 04:15 2
1. Если не путаюсь, код должен обработать только последний из списка загруженных файлов:
PHP
1
2
3
4
5
6
foreach ($addMoroPhoto as $key => $name){
    $type = $_FILES['file']['type'][$key];
    $tmp_name = $_FILES['file']['tmp_name'][$key];
    $size = $_FILES['file']['size'][$key];
    $type = pathinfo($addMoroPhoto[$key], PATHINFO_EXTENSION);
  }
А остальная работа с файлом вынесена за пределы цикла..

2. Что значит нет value, если он прописан статично? Имеется в виду, наверное, что текста рядом с radio нет, это логично, value нужно для обработки на сервере, что увидит пользователь - пишите рядом (в label обёрнул, чтобы по тексту щелкалось):
HTML5
1
2
3
<label>
  <input type="radio" name="video" value="activate" <?=($row1['video'] == 1)? 'checked' : ''?>/> Активировать видео
</label>
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
22.10.2013, 18:51  [ТС] 3
Цитата Сообщение от sKotenok Посмотреть сообщение
1. Если не путаюсь, код должен обработать только последний из списка загруженных файлов
Он обрабатывает и загружает только первый файл

Добавлено через 8 часов 39 минут
Вопрос еще актуален
0
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
22.10.2013, 18:55 4
M1lleniuM, попробуй код до $errors=connect(); перенести внутрь foreach-цикла.
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
23.10.2013, 22:13  [ТС] 5
Цитата Сообщение от sKotenok Посмотреть сообщение
попробуй код до $errors=connect(); перенести внутрь foreach-цикла.
ситуация не меняется)
Еще идеи есть?
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
<?php
error_reporting(E_ALL);
$errors='';
function upload($path){
  require_once 'config.php';
  if (!isset($_FILES['file']))
    return 'Ошибка массива';
  $addMoroPhoto = array_filter($_FILES['file']['name']);           
  if (sizeof($addMoroPhoto) < 0)
    return 'Ошибка sizeof';
  foreach ($addMoroPhoto as $key => $name){
    $type = $_FILES['file']['type'][$key];
    $tmp_name = $_FILES['file']['tmp_name'][$key];
    $size = $_FILES['file']['size'][$key];
    $type = pathinfo($addMoroPhoto[$key], PATHINFO_EXTENSION);
    $i = 0;
    while(file_exists($filename = ++$i . '.' . $type))
      ;
    if(!file_exists($path))
      return 'Такой папки не существует!';
    $destination = $path . '/' . $filename;
    if (!move_uploaded_file($tmp_name, $destination))
      return 'Ошибка загрузки файла';
    chmod($destination, 0777);
  }
  $errors=connect();
  $q=mysql_query('UPDATE `index` SET `images`="'.$path.'"') or die(mysql_error());
  header('Location:'.$site.'/panel/scripts/admin.php');
}
?>
Добавлено через 2 часа 33 минуты
Актуально!

Добавлено через 11 часов 40 минут
Никто не знает в чем косяк?

Добавлено через 10 часов 55 минут
ПОМОГИТЕ, ПРОШУ!
0
23.10.2013, 22:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2013, 22:13
Помогаю со студенческими работами здесь

Закачка файлов с сервера на свой сервер
Доброго всем. Мучает такой вопрос, каким образом можно взять файл(url) ссыль есть, и закинуть его...

Закачка файлов на сервер используя multipart/form-data
Мучаюсь уже очень давно, код очень длинный... Нужно короче закачать файлы на сервак, использую...

Библиотека Котерова "JsHttpRequest 5: кроссбраузерный AJAX + закачка файлов "
Есть проблема скачал библиотеку с офф. сайта. Поставил библиотеку вместе примерами. Но примери...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru