如何在TYPO3 extbase扩展控制器中打开文件?

Xer*_*via 0 typo3 extbase typo3-extensions

我需要读取扩展控制器内部的文件,这里是我的扩展键的示例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');
Run Code Online (Sandbox Code Playgroud)

谢谢大家的帮助!

j4k*_*4k3 5

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

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

$content = file_get_contents(
    \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('EXT:myext_key/Resources/Private/JSON/data.json'
);
Run Code Online (Sandbox Code Playgroud)