配置出一个常利用的路径出来比较好
找到config目录下的filesystem.php文件进行配置
'photo' => [// 磁盘类型 'type' => 'local', // 磁盘路径 'root' => app()->getRootPath() . 'public/uploads', // 磁盘路径对应的外部URL路径 'url' => '/uploads', // 可见性 'visibility' => 'public',],
这里Shane配置的路径为public下的uploads文件夹

配置完后来看下filesystem.php整体是个什么样子
<?phpuse think\facade\Env;return [ // 默认磁盘 'default' => Env::get('filesystem.driver', 'local'), // 磁盘列表 'disks' => [ 'local' => [ 'type' => 'local', 'root' => app()->getRuntimePath() . 'storage', ], 'public' => [ // 磁盘类型 'type' => 'local', // 磁盘路径 'root' => app()->getRootPath() . 'public/storage', // 磁盘路径对应的外部URL路径 'url' => '/storage', // 可见性 'visibility' => 'public', ], 'photo' => [ // 磁盘类型 'type' => 'local', // 磁盘路径 'root' => app()->getRootPath() . 'public/uploads', // 磁盘路径对应的外部URL路径 'url' => '/uploads', // 可见性 'visibility' => 'public', ], ],];
利用Filesystem把上传的文件移动到指定位置
/ 调用disk方法 此时根目录为/public/uploads 再把文件移动至uploads下的photo文件夹里 文件名用md5 /$saveName = Filesystem::disk('photo') -> putFile('photo', $file, 'md5');
上述代码实行完毕之后会返回文件名
以是用一个变量($saveName)来吸收文件名
给前端返回图片路径/ Shane这里只返回从uploads开始的路径 可以根据自己的需求返回须要的路径 /exit(str_replace('\\', '', '/uploads/' . $saveName));
至此上传图片完毕
再来看下整体代码
/ 上传图片 / public function uploads_file(){ $file = request() -> file('file'); if ($file == null) { return $this -> show( config("status.failed"), config("message.failed"), '未上传图片' ); } $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if(!in_array($extension, array("jpeg","jpg","png"))){ return $this -> show( config("status.failed"), config("message.failed"), '上传图片不合法' ); } $saveName = Filesystem::disk('photo') -> putFile('photo', $file, 'md5'); exit(str_replace('\\', '', '/uploads/' . $saveName)); }
Shane在B站的TP6视频:BV1tJ411J7qZ