tankisto
Мой дом здесь!
- Регистрация
- 5 Окт 2010
- Сообщения
- 221
- Реакции
- 255
- Автор темы
- #1
Для выгрузки данных в отдельный сервис использую формат YML.
Выгружаю только необходимые параметры, такие как артикул, название, цвет, описание, цена и только 1 картинку. Но вывалить картинку 960х720 в маленькое окно не по фен-шую. Поэтому хочу подцепить ресайз картинку формата 160х90. Вопрос, как получить ссылку на нее?
Формат урлов:
Мне интересно по какому алгоритму генерируется часть урл, подчеркнутая красным?
Вот код, которым я забираю большую картинку:
Сейчас в $strFile у меня полный путь к картинке 960х720.
Зная алгоритм генерации папки для ресайз изображений я легко подцеплю 160х90
Или получать через CFile::ResizeImageGet? Что логически, наверное, будет более правильным, ведь
Выгружаю только необходимые параметры, такие как артикул, название, цвет, описание, цена и только 1 картинку. Но вывалить картинку 960х720 в маленькое окно не по фен-шую. Поэтому хочу подцепить ресайз картинку формата 160х90. Вопрос, как получить ссылку на нее?
Формат урлов:
Мне интересно по какому алгоритму генерируется часть урл, подчеркнутая красным?
Вот код, которым я забираю большую картинку:
PHP:
if (intval($arAcc["DETAIL_PICTURE"])>0 || intval($arAcc["PREVIEW_PICTURE"])>0)
{
$pictNo = intval($arAcc["DETAIL_PICTURE"]);
if ($pictNo<=0) $pictNo = intval($arAcc["PREVIEW_PICTURE"]);
if ($ar_file = CFile::GetFileArray($pictNo))
{
if(substr($ar_file["SRC"], 0, 1) == "/")
$strFile = "http://".$ar_iblock['SERVER_NAME'].implode("/", array_map("rawurlencode", explode("/", $ar_file["SRC"])));
elseif(preg_match("/^(http|https):\\/\\/(.*?)\\/(.*)\$/", $ar_file["SRC"], $match))
$strFile = "http://".$match[2].'/'.implode("/", array_map("rawurlencode", explode("/", $match[3])));
else
$strFile = $ar_file["SRC"];
$strTmpOff.="<picture>".$strFile."</picture>\n";
}
}
Зная алгоритм генерации папки для ресайз изображений я легко подцеплю 160х90
Или получать через CFile::ResizeImageGet? Что логически, наверное, будет более правильным, ведь
Один раз уменьшив изображение получаем физический файл... при следующем вызове метод вернет путь к уменьшенному файлу.
Последнее редактирование: