簡體   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