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. LShark - 09 Декабря, 2012 - 20:10:59 - перейти к сообщению
Есть страница, на которой выбирается целый список файлов в форму отправки.
Сделано так:

CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr><td>Файл1:</td><td><input name="uf[]" type="file" /></td></tr>
  3. <tr><td>Файл1:</td><td><input name="uf[]" type="file" /><td></tr>
  4. <tr><td>Файл1:</td><td><input name="uf[]" type="file" /><td></tr>
  5. <tr><td>Файл1:</td><td><input name="uf[]" type="file" /><td></tr>
  6. <tr><td>Файл1:</td><td><input name="uf[]" type="file" /><td></tr>
  7. </table>
  8.  

Каждый файл - это отдельный параметр, загружаемый потом в свое место и под своим парсингом. Разбор, естественно, идет через $_FILES[uf]
Условно возьмем, что первый файл - это картинка, второй - MHT-файл, третий - зип-архив и т.д.
Но тут и так понятно - [0] - первый, [1] - второй элемент и т.д. Foreach и нет проблем.

Но есть другая проблема - на других страницах такой запрос - только по одному файлу. Т.е. на одной странице сделана загрузка именно картинки (у нас она грузится в первом элементе)

На другой странице - загружается только MHT-файл.

Можно ли в отсылку формы добавить дополнительный параметр, указывающий, что это за зверь отправляется. Сразу скажу, "картинки", "MHT" и другие, которые можно определить по MIME я привел лишь для понимания. Реально же там отправляются файлы, которые вообще не являются стандартными типами.

Иначе говоря, можно ли сделать так:

CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr><td>Файл1:</td><td><input name="uf[]" type="file" name1="kong"/></td></tr>
  3. <tr><td>Файл1:</td><td><input name="uf[]" type="file" name1="uri"/><td></tr>
  4. <tr><td>Файл1:</td><td><input name="uf[]" type="file" name1="sion"/><td></tr>
  5. <tr><td>Файл1:</td><td><input name="uf[]" type="file" name1="ture"/><td></tr>
  6. <tr><td>Файл1:</td><td><input name="uf[]" type="file" name1="lasb"/><td></tr>
  7. </table>
  8.  


А на страницах с одиночной загрузкой аналогично:
CODE (html):
скопировать код в буфер обмена
  1. Файл1: <input name="uf[]" type="file" name1="ture"/>
и ясно, что загружаю файл для 4-го варианта парсинга?

ЗЫ. Пока печатал, появилась мысль... Сейчас буду ее проверять. Но если поможете - буду благодарен.
2. LIME - 09 Декабря, 2012 - 21:02:56 - перейти к сообщению
а почему нельзя разные имена давать?
3. Мелкий - 09 Декабря, 2012 - 21:09:13 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <input name="uf[my_custom_key]" type="file" />
4. LShark - 10 Декабря, 2012 - 14:41:30 - перейти к сообщению
LIME пишет:
а почему нельзя разные имена давать?

Можно, конечно, но я надеялся, что можно было бы использовать ForEach и по этому параметру запускать ту или иную функцию парсинга. Ну и передавать так имена файлов (под которыми они должны будут сохраняться на сервере).


Мелкий пишет:
<input name="uf[my_custom_key]" type="file" />

Аналогично.

Я попытался, конечно, задавать ключи, но все равно это не дает передавать дополнительные данные типа имени файла. Хотя сейчас попробую.
5. Zuldek - 10 Декабря, 2012 - 15:01:29 - перейти к сообщению
Не совсем понятно как вы собираетесь запускать функцию парсинга в зависимости от имени файла в форме если не знаете ни типа ни содержимого файла.
Обычно в зависимости от содержимого, включая начальную проверку миме-типов выбирают нужную функцию обработки на бэкенде.
6. LShark - 10 Декабря, 2012 - 16:01:31 - перейти к сообщению
Вот как раз вариант содержимого в фвйле я и собирался передавать этим "дополнительным" показателем, чтобы использовать один скрипт парсинга, который по этому показателю запускал тот или иной вариант.

Решил плюнуть и просто действительно использовать разные переменные, а скрипт будет поочередно проверять их все, выбирая нужные через дополнительный текстовый инпут с таким же индексом.

 

Powered by ExBB FM 1.0 RC1