繁体   English   中英

TYPO3:cObj-> IMAGE不生成图像

[英]TYPO3: cObj->IMAGE not generating image

我有一个扩展,我需要生成缩略图。 为此,我写了一种包装函数。

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

但是当我尝试使用如下所示的绝对系统路径时,不再生成图片,并且“ 返回$ cObj-> IMAGE($ imgTSConfig) ”返回NULL。
/var/www/vhosts/domain.com/httpdocs/path/to/picture/c.example.hq.jpg
此路径位于TYPO3-Install-Directory之外 - 但包含在open_basedir中(并且safe_mode为Off)。

我在open_basedir中添加了以下路径:/var/www/vhosts/domain.com/httpdocs/path/
如果文件可以从我的扩展中读取,我使用is_readable()进行测试 - 它返回true。
安装工具中的图像处理工作正常。

你知道吗,我还能测试什么? 还是我错过了必不可少的东西?

顺便说一句:我正在运行TYPO3 4.6.1和PHP 5.3。

解:
在Web目录中创建一个符号链接到外部路径。 这个符号链接必须在fileadmin /或typo3conf /
另见konsolenfreddy的帖子。

IMAGE函数总是期望相对于文件PATH_site无论是在typo3conffileadmin (见getFilename函数t3lib_tstemplate )。

如果您想在文档根目录之外放置一个图像,可以想到两种方法:

  1. 将符号链接放在typo3conffileadmin中的目录中,例如fileadmin/myimages/ ,通过.htaccess保护目录内容
  2. 直接使用Gifbuilder功能。 这可能很麻烦,可能会禁用cObject中的某些更高级别的缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM