16

Getting the following error in console when attempting to get a files contents:

[League\Flysystem\FileNotFoundException] File not found at path: C:/wamp64/www/lion/resources/generate/json/Car.json

When I copy and paste that exact path in explorer it opens the json file fine.

Here is my code:

$this->json = json_encode(Storage::get(resource_path('generate/json/'.$this->argument('model').'.json')));
Cœur
  • 37,241
  • 25
  • 195
  • 267
kjdion84
  • 9,552
  • 8
  • 60
  • 87

3 Answers3

14

I figured it out.

Storage::get actually uses the path relative to the filesystem disk configuration, therefore the error message itself is misleading.

I've corrected the issue by simply using file_get_contents() instead.

kjdion84
  • 9,552
  • 8
  • 60
  • 87
  • i have this issue for delete. when i get from client and save is ok and save filename in db but when i want to delete $this->logo is relative url path i dont know why? – saber tabatabaee yazdi Jul 29 '20 at 12:17
7

As others pointed out Storage::get indeed uses the path relative to the filesystem disk configuration, by default the local driver is used (config/filesystems.php):

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

So if you are using the local driver and your file resides at app/public/yourfile.ext for example then the call to Storage should be:

Storage::get('public/yourfile.ext');
Gluten
  • 320
  • 4
  • 12
0

Try this

$this->json = json_encode(app_path('/resources/generate/json/Car.json');
Manish Champaneri
  • 654
  • 3
  • 8
  • 28