Laravel文件在路径中找不到但它确实存在

时间:2017-06-26 22:41:39

标签: php laravel file storage

尝试获取文件内容时在控制台中出现以下错误:

  

[League \ Flysystem \ FileNotFoundException]在路径中找不到文件:   C:/wamp64/www/lion/resources/generate/json/Car.json

当我在资源管理器中复制并粘贴该确切路径时,它会打开json文件。

这是我的代码:

$this->json = json_encode(Storage::get(resource_path('generate/json/'.$this->argument('model').'.json')));

3 个答案:

答案 0 :(得分:2)

我明白了。

Storage::get实际上使用了相对于文件系统磁盘配置的路径,因此错误消息本身具有误导性。

我只是简单地使用file_get_contents()来纠正这个问题。

答案 1 :(得分:2)

正如其他人所指出的,Storage::get确实使用了相对于文件系统磁盘配置的路径,默认使用local驱动程序(config/filesystems.php):

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
],

因此,如果您使用的是local驱动程序,并且您的文件位于app/public/yourfile.ext,那么对Storage的调用应为:

Storage::get('public/yourfile.ext');

答案 2 :(得分:0)

试试这个

$this->json = json_encode(app_path('/resources/generate/json/Car.json');