Сообщения

Сообщения за июль, 2023

Битрикс: получить путь файла

В битриксе так устроено, что каждый загружаемый файл (картинка, документ или что-угодно ещё) сохраняется и на диске, и в базе данных (основные параметры файла). В базе данных параметры файлов хранятся в таблице b_file . Если в инфоблоке загрузить картинку, то у элемента инфоблока в поле картинки сохранится только идентификатор - отсылка на запись в таблице b_file . При выборке данных через CIBlockElement::GetList() и Fetch() от картинки будет получен только идентификатор. Чтобы идентификатор превратить в путь к файлу картинки, нужно, например, применить метод CFile::GetPath() и передать в него этот идентификатор файла. Этот стандартный битриксовый метод внутри делает много всякого. В том числе, кеширование результата. Далеко не всегда это кеширование полезно, на мой взгляд. Очень часто файлы получаем внутри компонентов, которые сами имеют кеширование. Или при обработке большого числа файлов, выгодно один раз из кеша достать сразу всю пачку, чем каждый файл из отдельного маленького к