laravel文件系统配置文件位于 config/filesystems.php
'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
上传代码如下
//扩展名 $ext = $file->getClientOriginalExtension(); //临时绝对路径 $realPath = $file->getRealPath(); //新文件名 $filename = date('Ymdhis') . '-' . uniqid() . '.' . $ext; $bool = Storage::disk('public')->put($filename, file_get_contents($realPath));
文件会被上传到
storage/app/public 目录下
重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了
我用的是mac homestead环境 登录进去
vagrant up
,vagrant ssh
sudo -i 获得root 权限 (重点是这句)
进入对应项目 执行
php artisan storage:link
创建软链接
此时 public
文件夹下多了一个 storage
指向的就是 storage/app/public
里的文件
上传完了之后直接访问 大功告成
test.com/storage/filename.png