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

 更新时间:2019年10月21日 09:43:44   作者:IT_GIRL_XIU  
今天小编就为大家分享一篇laravel 实现上传图片到本地和前台访问示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在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 cURL初始化和执行方法入门级代码

    PHP cURL初始化和执行方法入门级代码

    这篇文章主要介绍了PHP cURL初始化和执行方法入门级代码,本文直接给出代码示例,代码中包含详细注释,需要的朋友可以参考下
    2015-05-05
  • destoon二次开发常用数据库操作

    destoon二次开发常用数据库操作

    这篇文章主要介绍了destoon二次开发常用数据库操作,需要的朋友可以参考下
    2014-06-06
  • php操作memcache缓存方法分享

    php操作memcache缓存方法分享

    一般来说,如果并发量不大的情况,使不使用缓存技术并没有什么影响,但如果高并发的情况,使用缓存技术就显得很重要了,可以很好的减轻数据库和服务器的压力,当然解决高并发的技术有很多,这里只是以缓存的角度来说明使用memcache的便捷性和方便性,
    2015-06-06
  • PHP删除数组中指定下标的元素方法

    PHP删除数组中指定下标的元素方法

    下面小编就为大家分享一篇PHP删除数组中指定下标的元素方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • destoon会员注册提示“数据校验失败(2)”解决方法

    destoon会员注册提示“数据校验失败(2)”解决方法

    这篇文章主要介绍了destoon会员注册提示“数据校验失败(2)”解决方法,需要的朋友可以参考下
    2014-06-06
  • 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例

    使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例

    下面小编就为大家带来一篇使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • php网站地图生成类示例

    php网站地图生成类示例

    网站地图对于一个网站来说至关重要,网站本身自己创建网站地图并提交给搜索引擎,是更好的方法。这样的话,你可以不受页面数量的限制,并且可以完全控制网站地图的结构信息,这里介绍一个小类,可以很方便的生成网站地图
    2014-01-01
  • php数组去除空值函数分享

    php数组去除空值函数分享

    本文给大家分享一个使用php制作数组去除空值函数,非常实用,推荐给大家,希望大家能够喜欢。
    2015-02-02
  • 详解php中serialize()和unserialize()函数

    详解php中serialize()和unserialize()函数

    这篇文章主要介绍了php的serialize()函数和unserialize()函数的相关资料,需要的朋友可以参考下
    2017-07-07
  • php写的简易聊天室代码

    php写的简易聊天室代码

    php写的简易聊天室代码,需要的朋友可以参考下。
    2011-06-06

最新评论