Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Multi загрузка с удалённо сервера, вопрос ! 
:(
    Опции темы
VikZet
Дата 27.11.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Всем привет,
следующий вопрос к спецам по пхп
есть скрипт загрузки фалов с удалённого сервера, проблема в том что он может загружать только один файл, хотелось добавить возможность мульти загрузки, как правильно создать цикл ?

пример определения количества загрузок
Код

<td>
  <select name="numfiles" class="select">
<?php



for ($i=1; $i<=15; $i++) {
echo ("<option value=$i>$i");
}
?>
</select>
<input type="Submit" value="Одновременных закачек" name="up" class="button">&nbsp;&nbsp;&nbsp;&nbsp;
<br><br>
</td>
</tr>
</form>
<tr>
   <td align="center">
<form action="<?echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<?php
if (isset($_POST['up']))
    {

 for ($i=1; $i<=$_POST['numfiles']; $i++){

    echo "<input type=\"File\" name=\"url\"  size=\"30\ class=\"input\"><br>\n";}
    echo "<br />";
    echo "<input type=\"submit\" name=\"sendfiles\" value=\"Залить\" />";
   }




Сам код загрузки

Код

 $url = $_POST['url'];
                set_time_limit(86400);
                $filename = basename($url);
                if ($filename !== 'index.php') {
                        if ($fr = @fopen($url, "rb")) {
                                $fp = fopen($filename, "wb");
                                while (!feof($fr)) {
                                        fputs($fp, fread($fr, 2048));
                                }
                                fclose($fp);
                                fclose($fr);
                        }

PM MAIL   Вверх
Kefir
Дата 27.11.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



А в чём проблема-то? Несколько файлов загружать можно. Просто дай им разные имена или в массив кидай. Получишь всё что надо. Единственная проблема, что обычно довольно маленький лимит на загрузку стоит, но это уже от хостера зависит.
PM MAIL WWW Skype   Вверх
VikZet
Дата 27.11.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Цитата(Kefir @ 27.11.2006,  22:14)
А в чём проблема-то? Несколько файлов загружать можно. Просто дай им разные имена или в массив кидай. Получишь всё что надо. Единственная проблема, что обычно довольно маленький лимит на загрузку стоит, но это уже от хостера зависит.

c лимитом я разберусь, не проблема

проблема в том что я не могу дать им разные именна, так как не известно сколько точно их будет
можеть быть один а может и 20, выбор происходит по выше показанному коду "select"

на сколько я знаю мне нужен обрабатывать всё циклом к примеру foreach, я пробывал, но у меня не идёт

как можно выеснить именна фалов ? также как и при нормальной загрузке ? $HTTP_POST_FILES

или другим способом ?

Добавлено @ 23:15 
скорее всего проблема в том что я не могу правильно создать массив, подскажите как мне примерно его создать 
PM MAIL   Вверх
Kefir
Дата 27.11.2006, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



можно раздать имена а-ля 1,2,3,4.....15. Или же всем дать имя "files[]". Тогда все они будут складываться в массив files. Посмотреть где они и как можно просто распечатав массив $_FILES (print_r($_FILES)) в принимающем скрипте. Ну или $HTTP_POST_FILES, но это устаревшая форма smile
PM MAIL WWW Skype   Вверх
VikZet
Дата 27.11.2006, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Kefir

допусти я создал поля с files[] н количеством, на выбор как примерно должен выглядеть мой цикл 

вот к премеру вот так ?

Код


  
  foreach($_FILES as $strFieldName => $arrPostFiles){


                $url = $arrPostFiles ['file[]'];
                set_time_limit(86400);
               
                $filename = basename($file[]);
                        if ($fr = @fopen($url, "rb")) {
                                $fp = fopen($filename, "wb");
                                while (!feof($fr)) {
                                        fputs($fp, fread($fr, 2048));
                                }
                                fclose($fp);
                                fclose($fr);
                   
}


Это сообщение отредактировал(а) VikZet - 27.11.2006, 23:42
PM MAIL   Вверх
Kefir
Дата 27.11.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



VikZet, распринтай содержимое $_FILES через print_r($_FILES) и посмотри сам. Я сам уже не помню.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.