2

我需要读取扩展控制器内部的文件,例如,我的扩展密钥是myext_key,我要打开的文件data.jsonResources/Private/JSON目录中的 JSON 文件。我的研究告诉我,打开文件的最佳方式不是使用 . file_get_contents($path),而是使用\TYPO3\CMS\Core\Utility\GeneralUtility::getURL($path).

所以我用下面的代码试了一下,但是没有用:

$content = \TYPO3\CMS\Core\Utility\GeneralUtility::getURL('EXT:myext_key/Resources/Private/JSON/data.json');

感谢大家的帮助!

4

1 回答 1

11

不确定file_get_contents()除了内存影响之外是否有任何问题,因为file_get_contents()本质上是为整个文件内容分配了一个变量。只要您处理的 .json 文件很小,您就应该安全。

获取扩展目录中文件的绝对文件名的方法是getFileAbsFileName()

$fileContent = file_get_contents(
    \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('EXT:myext_key/Resources/Private/JSON/data.json')
);
于 2017-03-15T21:06:32.810 回答