【问题标题】:Lumen read JSON from fileLumen 从文件中读取 JSON
【发布时间】:2016-10-27 07:05:44
【问题描述】:

我正在使用Lumen Framework,我正在尝试从json 文件中为我的数据库播种。我正在做这样的事情:

public function run()
{
    $json = json_decode(file_get_contents('database/seed/file.json'), true);
    ...
}

但是当我执行种子命令php artisan db:seed 时,我得到了这个错误:

[错误异常]

file_get_contents(database/seed/file.json):打开流失败:没有这样的文件或目录

我尝试这样做:https://stackoverflow.com/a/34201616/3701102,我得到了这个:

[Symfony\Component\Debug\Exception\FatalThrowableError]

调用未定义函数 public_path()

任何想法我做错了什么?

谢谢

【问题讨论】:

  • 尝试使用__DIR__ 指令而不是相对路径。
  • 您是否创建了另一个名为seed 的目录或seeds 目录中是否存在file.json?
  • @RossWilson 是的,我做到了,首先我只尝试了file.json,然后我尝试了文件在项目中的路径

标签: php laravel lumen


【解决方案1】:

使用__DIR__找出脚本路径

public function run()
{
    dd(__DIR__);
}

对于这个例子,假设输出是/home/vagrant/Code/app/Http/Controllers

现在这应该可以工作了(如果文件权限正确的话)

public function run()
{
    $file_path = realpath(__DIR__ . '/../../database/seed/file.json');
    $json = json_decode(file_get_contents($file_path), true);
    // ...
}

【讨论】:

    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    相关资源
    最近更新 更多