Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как скачать файл из инфоблока?

00 голосов
10
Здравствуйте.
У меня есть id инфоблока. У меня есть id элемента, который в инфоблоке имеет тип "файл".
Загружаю файл в инфоблок. Походу все нормально.
Теперь вопрос. Как скачать файл из инфоблока?
спросил 24 Фев, 13 от koppiha (120 баллов)

10 Ответы

00 голосов
Вопрос поставлен немного некорректно - элемент инфоблока не может быть "файл". Видимо, у вас в инфоблоке есть свойство типа "файл". Можно дернуть всю запись инфоблока функцией GetIBlockElement($id) - будет сразу массив с записью инфоблока и его свойствам. Если действовать более точно:

$rsProp = CIBlockElement::GetProperty($iblock_id, $element, "sort", "asc", array("ID"=>$code));
$prop = $rsProp->GetNext();
print_r($prop);

где $code - ID свойства, в котором у вас хранится файл. $prop['VALUE'] будет номером файла. Его уже можно показать с помощью CFile::GetPath() или CFile::ShowImage().
ответил 24 Фев, 13 от bazzet (620 баллов)
00 голосов
Не понял как это сделать.
Подскажите более подробно. У меня такой же вопрос как и топик стартера.
Заранее благодарю
ответил 13 Март, 13 от gammi0108 (240 баллов)
00 голосов
$rs = CIblockElement::GetList(array(),array('ID'=>$ID,'IBLOCK_ID'=>$arParams['IBLOCK_ID']),false,false,array('PROPERTY_FILE'));
while($ar=$rs->GetNext()) echo CFile::GetPath($ar['PROPERTY_FILE_VALUE']);
ответил 16 Апр, 13 от Eddie (2,060 баллов)
00 голосов
если инфоблок у меня Ид 4
свойство Ид 156
тогда?

И этот код вставлять в компонент?
ответил 08 Авг, 13 от gammi0108 (240 баллов)
00 голосов
Попрошу еще раз объяснить мне, тупому. Итак есть инфоблок с двумя свойствами с названием "Инструкция" - одно типа файл другое типа привязка к файлу на сервере.

Если я загружаю файл на сервер, например pdf с инструкцией, то при добавлении этого файла первым свойством (файл) получаю в итоге в стандартном компоненте изображение элемента каталога поле в виде "Инструкция: Загрузить", с сылкой на файл. Это бы устроило если бы при этом каждый раз файл не загружался в папку upload, для каждой позиции каталога. Ведь часто бывает что для 10 позиций идет одна и та же инструкция и в итоге на хостинге у меня 10 файлов. Если же я в свойстве привязка к файлу на сервере привязываю эту же инструкцию (уже лежащую на хостинге) к элементу каталога, то получаю надпись в виде "Инструкция: /files/instruction.pdf" не кликабельную вообще и при этом просто показывающую путь размещения файла на хостинге. Что конкретно и где надо подправить, чтобы получить вместо второго варианта надпись "Инструкция: (А здесь текст описания файла - в виде гиперссылки на файл)". В каком конкретно месте если демонстрация элемента каталога происходит с помощью стандартной компоненты ЭЛЕМЕНТ КАТАЛОГА.

Заранее спасибо.
ответил 08 Ноя, 13 от Liorella (100 баллов)
00 голосов
У меня отдельный компонент. В нем написан такой код.
Код
<?foreach($arResult["ITEMS"] as $arItem):?>
   <p><?=$arItem["NAME"]?> [<a href="<?=CFile::GetPath($arItem['PROPERTIES']['fileprice']['VALUE'])?>" class="dashed">скачать</a>]

Но это не работает. Раньше работало. Подскажите в чем проблема может быть? Спасибо
ответил 15 Фев, 14 от gammi0108 (240 баллов)
00 голосов
В каком конкретно файле этот код был? Если брать базовую конфигурацию с неизмененными темплейтами и компонентами?
ответил 06 Июнь, 14 от Liorella (100 баллов)
00 голосов
у меня это в компоненте news.list он не стандартный. его дорабатывали. но если раньше он работал то сейчсас нет. вот по этому я и спрашиваю тут у знатаков чего так.)
ответил 04 Окт, 14 от gammi0108 (240 баллов)
00 голосов
где в стандартном наборе компонентов есть компонент который отвечает за загрузку файлов?
ответил 05 Фев, 15 от gammi0108 (240 баллов)
00 голосов
Не знаю, ждем когда в теме появятся гуру и нам все объяснят.
ответил 19 Май, 15 от Liorella (100 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 06 Май, 14 от gammi0108 (240 баллов)
0 голосов
0 ответов
спросил 06 Ноя, 13 от Kania (5,180 баллов)
0 голосов
1 ответ
0 голосов
1 ответ