4

サムネイルを生成する必要がある拡張機能があります。このために、一種のラッパー関数を作成しました。

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 ディレクトリからの相対パスを使用する限り、正常に機能します。

しかし、以下のような絶対システム パスを使用しようとするとすぐに、画像が生成されなくなり、" 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 は Off です)。

次のパスを open_basedir に追加しました

インストール ツールの画像処理は正常に機能します。

他に何をテストできますか?それとも、何か重要なものが欠けていますか?

ところで: 私は TYPO3 4.6.1 と PHP 5.3 を実行しています。

解決策:
Web ディレクトリ内で外部パスへのシンボリック リンクを作成します。このシンボリック リンクは、fileadmin/ または Typo3conf/ 内にある必要があります
。konsolenfreddy の投稿も参照してください。

4

1 に答える 1

1

この関数は常に inまたはのいずれかにIMAGE関連するファイルを想定します( function inを参照)。PATH_sitetypo3conffileadmingetFilenamet3lib_tstemplate

ドキュメント ルートの外に画像を置きたい場合は、次の 2 つの方法が考えられます。

  1. typo3confまたは内のディレクトリにシンボリック リンクを配置しますfileadmin。たとえばfileadmin/myimages/、ディレクトリの内容を保護します。.htaccess
  2. Gifbuilder 関数を直接使用します。これは面倒な場合があり、cObject.
于 2011-12-18T11:08:30.880 に答える