ThinkPHP5.0 图片上传生成缩略图实例代码说明
ThinkPHP  /  管理员 发布于 7年前   420
很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误。 我也遇到同样的问题。网上一查,有无数的人说是服务器临时文件目录权限问题。 几经思考后,发现并非如此。 其根本的原因是,保存到变量的信息是之前的,之后又move移动到了自己指定的目录下,同时临时文件已经不存在。所以再生成缩略图的时候,需要open的,文件地址应该是自己定义的目录+文件名。然而很多实例文档中,还是使用的move 之前的信息。 又加之在win服务器下,move后,指定目录已生成了文件,同时临时文件未被删除。所以能用move之前的信息生成缩略图。 希望不多的言语能帮助遇到同样问题的你。 下面在通过实例代码给大家介绍ThinkPHP5.0 图片上传生成缩略图的方法。 代码如下所示: 调用: PS:下面在看一段代码tp5中上传图片方法,并生成相应缩略图的方法 总结 以上所述是小编给大家介绍的ThinkPHP5.0 图片上传生成缩略图实例代码说明,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!thumb($width, $height, \think\Image::THUMB_FIXED)->save($thumbName); $data = [ 'access_url' => $imgRootPath . '/' . $whereName . '/' . $filename . '.' . $type, 'filename' => $thumbfile, ]; return $data; } } }
class Goods{ public function upload_sku() { $whereName = 'goods/sku'; $width = 750; $height = 750; $data = Tools::upload_goods_img($whereName,$width, $height); return returnJson(1, '上传成功', $data);; }}
//接收上传文件的name$file = $this->_req->file("upload_head_image");//将上传的文件移动到public/uploads/user$info = $file->validate(['size'=>5242880,'ext'=>'jpg,jpeg,png'])->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'user');if($info){ $pic = new \app\home\model\User(); $pic_url = $pic->thumbImage($file,$info); $user['portrait'] = 'uploads/user/'.$pic_url; //print_r($pic_url);exit(); }///model中代码如下 /** * [生成用户头像缩略图,180、50] * @param [type] $file [获取上传文件$_FILE] * @param [type] $pic [上传文件的路径] * @return [type] [返回处理后的文件路径] */ public function thumbImage($file,$pic){ $image = \think\Image::open($file); $getSaveName = str_replace('\\','/',$pic->getSaveName());$portrait_thumbnail_180= 'uploads/user/'.str_replace($pic->getFilename(),'180_'.$pic->getFilename(),$getSaveName);$image->thumb(180,180,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_180,null,100,true); $portrait_thumbnail_80 = 'uploads/user/'.str_replace($pic->getFilename(),'80_'.$pic->getFilename(),$getSaveName); $image->thumb(80,80,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_80,null,100,true); $portrait_thumbnail_50 = 'uploads/user/'.str_replace($pic->getFilename(),'50_'.$pic->getFilename(),$getSaveName); $image->thumb(50,50,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_50,null,100,true);if ($image) { return $getSaveName; } }
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号