2017-03-15 87 views
0

我需要读取扩展控制器内部的文件,这里以我的扩展键为myext_key为例,我想要打开的文件是Resources/Private/JSON目录中的JSON文件data.json。我的研究告诉我,打开文件的最佳方法不是使用file_get_contents($path),而是使用\TYPO3\CMS\Core\Utility\GeneralUtility::getURL($path)如何在TYPO3 extbase扩展控制器中打开文件?

所以我用下面的代码尝试过,但没有奏效:

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

感谢所有帮助!

回答

4

不知道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' 
);