时间:2021-07-01 10:21:17 帮助过:6人阅读
直接上代码,可以写在公共文件common和继承的基础类中,方便调用
/*
* $name为表单上传的name值
* $filePath为为保存在入口文件夹public下面uploads/下面的文件夹名称,没有的话会自动创建
* $width指定缩略宽度
* $height指定缩略高度
* 自动生成的缩略图保存在$filePath文件夹下面的thumb文件夹里,自动创建
* @return array 一个是图片路径,一个是缩略图路径,如下:
* array(2) {
["img"] => string(57) "uploads/img/20171211\3d4ca4098a8fb0f90e5f53fd7cd71535.jpg"
["thumb_img"] => string(63) "uploads/img/thumb/20171211/3d4ca4098a8fb0f90e5f53fd7cd71535.jpg"
}
*/
protected function uploadFile($name,$filePath,$width,$height)
{
$file = request()->file($name);
if($file){
$filePaths = ROOT_PATH . 'public' . DS . 'uploads' . DS .$filePath;
if(!file_exists($filePaths)){
mkdir($filePaths,0777,true);
}
$info = $file->move($filePaths);
if($info){
$imgpath = 'uploads/'.$filePath.'/'.$info->getSaveName();
$image = \think\Image::open($imgpath);
$date_path = 'uploads/'.$filePath.'/thumb/'.date('Ymd');
if(!file_exists($date_path)){
mkdir($date_path,0777,true);
}
$thumb_path = $date_path.'/'.$info->getFilename();
$image->thumb($width, $height)->save($thumb_path);
$data['img'] = $imgpath;
$data['thumb_img'] = $thumb_path;
return $data;
}else{
// 上传失败获取错误信息
return $file->getError();
}
}
}以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
thinkphp3.2.0中setInc方法的源码分析
thinkPHP5.0框架配置格式、加载解析与读取的方法
ThinkPHP实现转换数据库查询结果数据到对应类型
以上就是thinkphp5上传图片及生成缩略图的方法的详细内容,更多请关注Gxl网其它相关文章!