laravel 实现上传图片到本地和前台访问示例


Posted in PHP onOctober 21, 2019

在config下新建文件admin.php,定义上传文件的路径

'upload_img_path' =>'app/public/img',//本地上传图片路径

'upload_file_path' =>'app/public/files'//本地上传文件路径

在config/filesystems.php下定义

'disks' => [
 'uploadimg'=>[
  'driver'=>'local',
  'root'=>storage_path(config('admin.upload_img_path'))
 ],
 'uploadfiles'=>[
  'driver'=>'local',
  'root'=>storage_path(config('admin.upload_file_path'))
 ],

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

 'public' => [
  'driver' => 'local',
  'root' => storage_path('app/public'),
  'url' => env('APP_URL').'/storage',
  'visibility' => 'public',
 ],

 's3' => [
  'driver' => 's3',
  'key' => env('AWS_KEY'),
  'secret' => env('AWS_SECRET'),
  'region' => env('AWS_REGION'),
  'bucket' => env('AWS_BUCKET'),
 ],

],

后台上传方法

public function uploadImg(Request $request){

 $wenjian= $request->file('files');
 if ($wenjian) {

  //获取文件的原文件名 包括扩展名
  $yuanname= $wenjian->getClientOriginalName();

  //获取文件的扩展名
  $kuoname=$wenjian->getClientOriginalExtension();

  //获取文件的类型
  $type=$wenjian->getClientMimeType();

  //获取文件的绝对路径,但是获取到的在本地不能打开
  $path=$wenjian->getRealPath();

  //要保存的文件名 时间+扩展名
  $filename=date('Y-m-d') . '/' . uniqid() .'.'.$kuoname;
  //保存文件   配置文件存放文件的名字 ,文件名,路径
  $bool= Storage::disk('uploadimg')->put($filename,file_get_contents($path));
  //return back();
  return json_encode(['status'=>1,'filepath'=>$filename]);
 }else{
  $idCardFrontImg = '';
  return json_encode($idCardFrontImg);
 }
}

前台显示

<img src="/storage/img/2018-04-27/5ae294e2830df.jpeg">

在写接口上传的照片如何保存到public让前端框架访问到,,就要建立软连接将照片放到public目录去访问! 很简单

执行命令:php artisan storage:link

命令执行完毕后,就会在项目里多出一个 public/storage,

这个 storage 就是一个软链接,它指向 storage/app/public 目录。

public/storage(软连接) → storage/app/public

然后就可以用地址直接访问public里面的照片了!

以上这篇laravel 实现上传图片到本地和前台访问示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何隐藏你的.php文件
Jan 04 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
深入解析php之apc
May 15 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
php目录遍历函数opendir用法实例
Nov 20 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 #PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 #PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 #PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 #PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
Oct 20 #PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 #PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 #PHP
You might like
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
建筑设计所实习生自我鉴定
2013/09/25 职场文书
人力资源专业推荐信
2013/11/29 职场文书
毕业生自荐书
2013/12/18 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
十佳护士先进事迹
2014/05/08 职场文书
记账会计岗位职责
2014/06/16 职场文书
企业委托书范本
2014/09/13 职场文书
入党个人总结范文
2015/03/02 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript