【发布时间】:2021-10-19 12:17:57
【问题描述】:
我正在尝试在 shopware 6 中获取公共文件夹路径,以便使用文件系统在其中创建目录。有人知道吗?
【问题讨论】:
-
您是指文件夹路径还是基本 URL?
标签: shopware
我正在尝试在 shopware 6 中获取公共文件夹路径,以便使用文件系统在其中创建目录。有人知道吗?
【问题讨论】:
标签: shopware
你可以看看服务
shopware.filesystem.public 定义在
vendor/shopware/core/Framework/DependencyInjection/filesystem.xml作为
<service class="League\Flysystem\FilesystemInterface" id="shopware.filesystem.public" public="true">
<factory service="Shopware\Core\Framework\Adapter\Filesystem\FilesystemFactory" method="factory"/>
<argument>%shopware.filesystem.public%</argument>
</service>
当你注入这个服务时,你可以调用
$publicFileSystem->createDir('folder')
创建您的文件夹。
这并不能完全回答有关如何获取路径的问题 - 但您通常不需要它,因为您不会直接与文件系统交互,而是通过 Flysystem 类进行交互。
如果你真的需要路径,你可以尝试类似
$publicFileSystem->getMetaData('.')['path']
这未经我测试,如前所述,您可能只是不需要路径。另请记住,底层文件系统甚至可能不是本地存储。
【讨论】:
也许不完全是防弹的,但大多数时候你也可以使用getcwd();
https://www.php.net/manual/en/function.getcwd.php
我主要用它来编写像error_log(print_r($data, true)."\n", 3, getcwd().'/error.log');这样的调试文件
【讨论】: