首页 > 解决方案 > 在哪里设置原始数据文件夹

问题描述

我有 symfony4 项目。

我需要处理一些 csv 文件,所以我在主目录下创建了 myAppCsv 文件夹。

protected function execute(InputInterface $input, OutputInterface $output)
{
    $finder = new Finder();
    $finder->in(array('myAppCsv'));

然后我像这样从命令访问文件夹。

$ php bin/console app:getcsv

当您在主目录中执行时,它运行良好。

现在,我想从命令行使用相同的命令(测试 crontab)

/usr/local/bin/php /Users/whitebear/httproot/myApp/bin/console app:getcsv

它显示错误。

The "myAppCsv" directory does not exist. 

我应该把我的原始数据目录和硬件放在哪里来处理?

标签: phpsymfony4

解决方案


您可以将路径指定为绝对路径。您可以使用__DIR__常量或kernel.root_dir参数。

kernel.root_dir如果您必须将命令移动到另一个文件夹中,我更喜欢使用。

您将拥有文件夹的绝对路径,例如:

$finder->in(
    array(
        sprintf('%s/../myAppCsv', $this->rootDir)
    )
); 

从依赖注入或容器获取 rootDir


推荐阅读