Здравствуйте.
Возникла необходимость отлавливать событие изменения элемента инфоблока и заливать картинку и ресайзить ее сразу. (при добавлении через АПИ настройки изображения инфоблока не работают).
Картинка находится файлом. Обработка лежит в init.php
$url_file - полный путь к файлу от корня сервера.
Пробую первый способ:
$arFileTmp = CFile::ResizeImageGet(
CFile::MakeFileArray($url_file),
array("width" => $width, 'height' => $height),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
$arPicture = array(
'SRC' => $arFileTmp["src"],
);
отдаю все параметры (путь к файлу включая DOCUMENT_ROOT, ширина, высота, константа, ватермарки не нужно).
$arFileTmp - возвращается пустота
Перепробовал все уже. Ведь 100 раз уже такое пробовал, но в шаблоне (результ модифирах) компонента или подключал отдельно всегда prolog (если файл отдельный) - всегда работало. В init не хотит(((
Второй вариант:
Т.к. у меня отдельно лежащий файл, то пробою другой функцией:
/*$arFileTmp = CFile::ResizeImageFile(
$url_file,
$_SERVER['DOCUMENT_ROOT'].'upload/url2pic/1.jpg',
array("width" => $width, 'height' => $height),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
В данном варианте выдает ошибку:
Fatal error: Cannot pass parameter 2 by reference in /var/www/---------/data/www/---.-----.ru/bitrix/php_interface/init.php
причем перепробовал тоже массу вариантов. Проверил параметры через liveApi - все параметры функция принимает.
Спросил у знакомого, тоже работающего на битриксе не один год - тоже говорит все нормально должно быть, не встречался с такой фигней.
У кого есть идеи почему такое может быть?
PS: Обновление битрикса не помогло, да и в шаблонах компонентов ресайз проходит нормально.
Возникла необходимость отлавливать событие изменения элемента инфоблока и заливать картинку и ресайзить ее сразу. (при добавлении через АПИ настройки изображения инфоблока не работают).
Картинка находится файлом. Обработка лежит в init.php
$url_file - полный путь к файлу от корня сервера.
Пробую первый способ:
$arFileTmp = CFile::ResizeImageGet(
CFile::MakeFileArray($url_file),
array("width" => $width, 'height' => $height),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
$arPicture = array(
'SRC' => $arFileTmp["src"],
);
отдаю все параметры (путь к файлу включая DOCUMENT_ROOT, ширина, высота, константа, ватермарки не нужно).
$arFileTmp - возвращается пустота
Перепробовал все уже. Ведь 100 раз уже такое пробовал, но в шаблоне (результ модифирах) компонента или подключал отдельно всегда prolog (если файл отдельный) - всегда работало. В init не хотит(((
Второй вариант:
Т.к. у меня отдельно лежащий файл, то пробою другой функцией:
/*$arFileTmp = CFile::ResizeImageFile(
$url_file,
$_SERVER['DOCUMENT_ROOT'].'upload/url2pic/1.jpg',
array("width" => $width, 'height' => $height),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
В данном варианте выдает ошибку:
Fatal error: Cannot pass parameter 2 by reference in /var/www/---------/data/www/---.-----.ru/bitrix/php_interface/init.php
причем перепробовал тоже массу вариантов. Проверил параметры через liveApi - все параметры функция принимает.
Спросил у знакомого, тоже работающего на битриксе не один год - тоже говорит все нормально должно быть, не встречался с такой фигней.
У кого есть идеи почему такое может быть?
PS: Обновление битрикса не помогло, да и в шаблонах компонентов ресайз проходит нормально.