By default, Laravel stores the uploaded public files in the storage/app/public, and you should create a so-called "symbolic link" with the Artisan command "php artisan storage:link". But what if you don't have SSH access to the Terminal and can't run this command?
One of the solutions is to store the public files in the /public folder without any storage/ or symlinks.
To do that, you need to change the configuration of your local public disk.
config/filesystems.php:
'disks' => [    'public' => [        'driver' => 'local',        'root' => storage_path('app/public'),         'url' => env('APP_URL').'/storage',         'root' => public_path(),         'url' => env('APP_URL'),         'visibility' => 'public',        'throw' => false,    ],
Then you could use this command to access the files in public/images, for example:
$path = $request->file('avatar')->store(    'images/something.png', 'public');
That file will be stored in public/images/something.png.
Assuming your web-server document root is correctly set to the public/ folder, you can access that file as https://yourwebsite.com/images/something.png.
Notice: be careful not to override the default files that come with Laravel in the /public folder. Make sure to always create subfolders for your custom uploaded files.
                                                    
                                                    
                                                    
No comments or questions yet...