前言:
目前大家对“tp6 url路径”大约比较看重,小伙伴们都想要分析一些“tp6 url路径”的相关知识。那么小编同时在网上网罗了一些对于“tp6 url路径””的相关文章,希望我们能喜欢,我们快快来学习一下吧!仅作为Shane个人笔记以下代码中出现的show方法均为Shane写的用来返回统一数据的接口方法接收文件
/** * 接收文件 */$file = request() -> file('file');接收到文件后判断下收来的文件是否为null
/** * 判断接收文件是否为空 */if ($file == null) { return $this -> show( config("status.failed"), config("message.failed"), '未上传图片' );}截取上传文件名后缀
/** * 截取上传文件名后缀 * 将文件名以.分割为数组 * 用PHP end函数取数组最后一个 * 即可得到上传文件后缀 */$temp = explode(".", $_FILES["file"]["name"]);$extension = end($temp);判断上传文件是否合法(是否为图片文件)
/** * 判断上传文件是否合法 * 判断截取上传文件名是否为 * jpeg,jpg,png其中之一 */if(!in_array($extension, array("jpeg","jpg","png"))){ return $this -> show( config("status.failed"), config("message.failed"), '上传图片不合法' );}配置保存路径
用Filesystem将接收的文件移动至想放的路径
配置出一个常使用的路径出来比较好
找到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
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #tp6 url路径