【问题标题】:How to open a file in TYPO3 extbase extension controller?如何在 TYPO3 extbase 扩展控制器中打开文件?
【发布时间】:2017-08-06 17:17:45
【问题描述】:

我需要读取扩展控制器内部的一个文件,例如,我的扩展密钥是myext_key,而我要打开的文件是Resources/Private/JSON 目录中的一个JSON 文件data.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');

感谢大家的帮助!

【问题讨论】:

    标签: typo3 extbase typo3-extensions


    【解决方案1】:

    不确定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')
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 2014-01-25
      相关资源
      最近更新 更多