У меня есть расширение, где мне нужно создавать эскизы.
Для этого я написал своего рода функцию-обертку.
public static function pictureGenerator($file, $title, $size_w, $size_h) {
$cObj = t3lib_div::makeInstance('tslib_cObj');
$imgTSConfig = array();
$imgTSConfig['file'] = $file;
$imgTSConfig['file.']['width'] = $size_w . 'm';
$imgTSConfig['file.']['height'] = $size_h . 'm';
$imgTSConfig['altText'] = empty($title) ? 'preview' : $title;
$imgTSConfig['titleText'] = empty($title) ? 'preview' : $title;
return $cObj->IMAGE($imgTSConfig);
}
Эта функция работает нормально, пока я использую путь относительно TYPO3-Directory:
Как: ../typo3conf/ext/sd_filmbase/res/images/default_film.jpg
Но как только я пытаюсь использовать абсолютный System-Path, как показано ниже, изображение больше не генерируется, и " return $ cObj-> IMAGE ($ imgTSConfig) " возвращает NULL.
/var/www/vhosts/domain.com/httpdocs/path/to/picture/c.example.hq.jpg
Этот путь находится за пределами TYPO3-Install-Directory, но включен в open_basedir (и safe_mode выключен).
Я добавил следующий путь к open_basedir: /var/www/vhosts/domain.com/httpdocs/path/
И я проверил с is_readable (), если файл доступен для чтения из моего расширения - и он вернул true.
Обработка изображений в Install Tool работает нормально.
У вас есть идеи, что еще я мог бы проверить? Или я что-то упустил?
Кстати: я использую TYPO3 4.6.1 и PHP 5.3.
РЕШЕНИЕ:
Создайте символическую ссылку в веб-каталоге на внешний путь. Эта символическая ссылка должна быть либо внутри fileadmin /, либо typo3conf /
Смотри также сообщение konsolenfreddy.