Помощник
|
Загрузка нескольких файлов одновременно |
yuriy_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
SOKOJI |
29.7.2010, 16:49;
Ответить: SOKOJI
Сообщение
#2
|
|
[PHP]$size = count($_FILES);
for(...) { ... }[/PHP] Копать в эту сторону. |
|
|
yuriy_hb
|
Сообщение
#3
|
|
пробую определить количество выбраных файлов с помощью
[PHP]$size = count($_FILES);[/PHP] но у меня постоянно выдает 1, хотя я скажем выбрал 5 файлов то размер массива должен быть равным 5... что-то не совсем понимаю. В глобальный масив $_FILES передаются ведь все выбраные файлы... как все же определить количество выбраных и отправленых файлов на сервер? |
|
|
ZhukV |
29.7.2010, 17:06;
Ответить: ZhukV
Сообщение
#4
|
|
А там сложного ничего нет:
[PHP] function UpdateArrayFILES($r = ''){ if(!$r){ return; } if(!is_array($_FILES) || !count($_FILES)){ return; } $temp = $_FILES[$r]; foreach($temp['name'] as $key => $value){ if(!$temp['name'][$key]){ continue; } $RESULT[$key]['name'] = $temp['name'][$key]; $RESULT[$key]['size'] = $temp['size'][$key]; $RESULT[$key]['tmp_name'] = $temp['tmp_name'][$key]; $RESULT[$key]['type'] = $temp['type'][$key]; $RESULT[$key]['error'] = $temp['error'][$key]; } return $RESULT; } $T = UpdateArrayFILES('userfile');//переформатируем массив, чтоб было удобно if(is_array($T)){ foreach($T as $file){ if(!$file['error']){ copy($file['tmp_name'], 'куда ты хочешь'); } } } [/PHP] Это супер пупер просто........ Дело в том, что здесь нет никакой проверки и толковой обработки. Надеюсь, суть понятна.... |
|
|
ZhukV |
29.7.2010, 17:35;
Ответить: ZhukV
Сообщение
#5
|
|
но у меня постоянно выдает 1, Потому что имя файла только одно -- userfile, ты же просто делаеш из него массив (userfile[]) $_FILES передаются ведь все выбраные файлы... Вполне верно, вот только сам $_FILES это массив. Вот: Если ты имя поля поставил 'upload', то и вытаскивать те нужно $_FILES['upload']. Если уж поле 'userfile', то вытаскивать его $_FILES['userfile'] У ся в примере, на оброботчике поставь [PHP] print_r($_FILES); [/PHP] Должен увидеть некую структуру. Вот и по ней те следует действовать |
|
|
yuriy_hb
|
Сообщение
#6
|
|
А еще вопрос: как мне сделать проверку на наличие закгрузки определенных файлов?
Я сделал следующе: [PHP]if(!empty($_FILES['myfile']['name']) and (ereg("image", $_FILES['myfile']['type']) or ereg("\.xls", $_FILES['myfile']['type']) or ereg("\.doc", $_FILES['myfile']['type']) or ereg("\.pdf", $_FILES['myfile']['type']))) [/PHP] Мне нужно чтобы пользователь смог загружать только такие форматы: gif, png, jpg, doc, xls, pdf а остальные нет: Как встроить такую проверку в даный код? |
|
|
ZhukV |
1.8.2010, 17:42;
Ответить: ZhukV
Сообщение
#7
|
|
Ты не получиш формат файла из массива $_FILES
Там можна только вытаскать миме тип файлов. Вот и по миме типу нужно производить выборку |
|
|
SOKOJI |
1.8.2010, 19:07;
Ответить: SOKOJI
Сообщение
#8
|
|
Ты не получиш формат файла из массива $_FILES Там можна только вытаскать миме тип файлов. Вот и по миме типу нужно производить выборку Формат можно получить, но подделать его - как 2 пальца об асфальт. [PHP]$fileParts = pathinfo($_FILES['xxx']['name']); echo $fileParts['extension'];[/PHP] |
|
|
ZhukV |
1.8.2010, 20:51;
Ответить: ZhukV
Сообщение
#9
|
|
|
|
|
ZhukV |
2.8.2010, 10:01;
Ответить: ZhukV
Сообщение
#10
|
|
|
И на большом количестве серверов получаеш удвительный формат: *.tmp Я так уже много раз лоханулся!!! SOKOJI, приношу свои извинения, поскольку сам толком не дочитал ответ взялся отписывать... :rolleyes: Но все же лучше проверять тип файла по MIME, тогда будет лучшая гарантия, какой именно файл лёт. Формат же можна спокойно изменить...?
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д. | 0 | BuxarNET | 1223 | 19.7.2023, 5:58 автор: BuxarNET |
|
Требуется помощник SEO специалиста для нескольких проектов начинающий или middle |
2 | tiptopvkr | 1470 | 2.12.2022, 12:11 автор: tiptopvkr |
|
Необходим SEO-специалист для нескольких проектов | 2 | tiptopvkr | 1705 | 18.7.2022, 15:39 автор: yefedor |
|
FinFile - новые возможности для монетизации Ваших файлов! | 3 | FileXmaster | 2077 | 25.7.2020, 16:10 автор: -Condis- |
|
Размещение ваших ссылок и статей на нескольких сайтах | 28 | maxmer | 14709 | 4.2.2020, 18:37 автор: maxmer |
Текстовая версия | Сейчас: 19.4.2024, 20:52 |