0

我的 Typo3 扩展程序可以生成一个文件,该文件保存在一个目录中,并使用这个完整的文件路径更新一个数据库字段,它可能看起来像这样:

/var/www/website/fileadmin/user_upload/extension/gen/generated.xlsx

我希望通过 http 提供这个文件,所以我需要访问http://example.com/fileadmin/user_upload/extension/gen/generated.xlsx. Typo3 中最好的方法是什么?

我显然希望以一种不对文档根目录进行硬编码的方式来执行此操作,以便我可以将我的扩展安装在不同的 Typo3 实例上。

Typo3 (4.5.22) 中是否有允许我传入文件路径并获取可在浏览器中用于下载文件的 url 的函数?或者我应该使用普通的 php 函数来做到这一点?

编辑:我这个问题的第一个版本有点欠发达。我不需要有人解释用 / 替换 DOCUMENT_ROOT,我想知道typo3 是否有一个实用功能。

4

2 回答 2

7

您可以PATH_site为此使用常量。

$file = 'generated.xlsx'; // this one probably fetched dinamically...
$fullpath =  PATH_site . 'fileadmin/user_upload/extension/gen/' . $file;

您也可以尝试使用常见的$_SERVER['DOCUMENT_ROOT']

TYPO3 API 概述中描述了所有 TYPO3 常量

于 2013-03-12T20:27:04.573 回答
1

在 TypoScript 中:

10 = TEXT
10.value = download this file
10.typolink.parameter = fileadmin/filepath/to/file.txt
于 2013-03-12T16:56:57.913 回答