laravel操作技巧(Laravel+Intervention实现上传图片功能示例)
类别:编程学习 浏览量:1638
时间:2022-01-24 00:18:32 laravel操作技巧
Laravel+Intervention实现上传图片功能示例本文实例讲述了Laravel+Intervention实现上传图片功能。分享给大家供大家参考,具体如下:
问题
使用Laravel上传图片
解决
安装Intervention
根据这个链接来安装https://packagist.org/packages/intervention/image
使用Intervention
根据这个文档来进行使用http://image.intervention.io/getting_started/introduction
简单修改
使用下面的代码就能实现上传图片
|
Image::make(Input::file( 'photo' ))->resize(300, 200)->save( 'foo.jpg' ); |
由于Intervention保存的时候需要指定图片的保存的文件名,所以我写了一个工具类来生成随机文件名。
|
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/5/2 0002 * Time: 17:34 */ namespace App\Libs; class UploadUtils { /** * 随机的文件名 * @param int $len 随机文件名的长度 * @return str 随机字符串 */ private static function randName( $len = 10) { return substr ( str_shuffle ( 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234565789' ), 0, $len ); } /** * 创建文件上传到的路径 * @return str 文件上传的路径 */ private static function createDir() { $dir = env( 'UPLOADPATH' ) . date ( 'Ymd' , time()); if ( is_dir ( $dir ) || mkdir ( $dir , 0777, true)) { return $dir ; } } /** * 获取上传文件的路径 * @return str 文件的全路径 */ public static function getUploadPath( $ext = 'jpg' ) { return self::createDir() . '/' . self::randName() . '.' . $ext ; } } |
上传处理
|
//上传缩略图 if ( $request ->hasFile( 'thumb' )) { //存在图片 $file = $request ->file( 'thumb' ); $path = UploadUtils::getUploadPath( $file ->guessExtension()); //获取保存的文件路径 Image::make( $file )->resize(env( 'THUMB_WIDTH' ), env( 'THUMB_HEIGHT' ))->save( $path ); //保存 ... #save database ... } |
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/baochao95/article/details/72582298
您可能感兴趣
- laravel自动分解大任务(Laravel如何实现自动加载类)
- laravel事务状态(laravel dingo API返回自定义错误信息的实例)
- laravel开发api实例(Laravel框架集成UEditor编辑器的方法图文与实例详解)
- laravel测试重连数据库(解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题)
- yii2和laravel框架哪个比较简单(关于Yii中模型场景的一些简单介绍)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- laravel模型怎么使用(laravel5.1框架model类查询的实现方法)
- laravel验证码依赖(laravel5.2表单验证,并显示错误信息的实例)
- laravel连接多个数据库(laravel实现一个上传图片的接口,并建立软链接,访问图片的方法)
- laravel查询条件数组写法(解决Laravel 使用insert插入数据,字段created_at为0000的问题)
- laravel多用户认证实例(Laravel框架验证码类用法实例分析)
- laravel设置跨域请求(解决laravel 出现ajax请求419unknown status的问题)
- laravel怎么设置自定义(laravel实现于语言包的完美切换方法)
- laravel自定义使用方法(laravel 获取当前url的别名方法)
- laravel count 报错(解决laravel5.5访问public报错的问题)
- echart图表有哪些(使用laravel和ECharts实现折线图效果的例子)
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
热门推荐
- python3列表的使用教程(对Python3 pyc 文件的使用详解)
- pythonmatplotlib怎么画区域(python matplotlib实现双Y轴的实例)
- ASP.NET网站的404错误页面的设置
- python飞机大战游戏背景(python实现飞机大战游戏)
- dedecms栏目标签的语法(dede中当前栏目选择技巧及注意事项)
- 升级mysql客户端版本(超详细教你怎么升级Mysql的版本)
- 什么是云主机和独立服务器(云主机与独立服务器有什么不同?哪个好?)
- .NET中时区转换
- elementui多个组件怎么使用(ElementUI在实际项目使用步骤详解)
- iis服务器如何搭建一个网站(配置IIS网站web服务器的安全策略配置解决方案)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9