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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php中使用url传递数组的方法
Feb 11 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
php发送邮件的问题详解
Jun 22 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python常用模块用法分析
2014/09/08 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python中reader的next用法
2018/07/24 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
python实现石头剪刀布程序
2021/01/20 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
外贸主管求职简历的自我评价
2013/10/23 职场文书
小学教师的个人自我鉴定
2013/10/26 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
会议邀请书范文
2014/02/02 职场文书
求职信的正确写法
2014/07/10 职场文书
学生犯错保证书
2015/05/09 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
2015元旦感言
2015/12/09 职场文书