thinkphp 缩略图上传

//公共上传
    private function _upload($width, $height, $path, $prefix) {
        import('ORG.Net.UploadFile');
        $upload = new UploadFile(); // 实例化上传类
        $upload->maxSize = C('UPLOAD_SIZE'); // 设置附件上传大小
        $upload->savePath = './Uploads/' . $path; // 设置附件上传目录
        $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
        $upload->saveRule = 'time';
        $upload->uploadReplace = true; //是否存在同名文件是否覆盖
        $upload->thumb = true; //是否对上传文件进行缩略图处理
        $upload->thumbMaxWidth = $width; //缩略图处理宽度
        $upload->thumbMaxHeight = $height; //缩略图处理高度
        $upload->thumbPrefix = $prefix; //缩略图前缀
        $upload->thumbPath = './Uploads/' . $path . date('Ymd', time()) . '/'; //缩略图保存路径
        $upload->thumbRemoveOrigin = true; //上传图片后删除原图片
        $upload->autoSub = true; //是否使用子目录保存图片
        $upload->subType = 'date'; //子目录保存规则
        $upload->dateFormat = 'Ymd'; //子目录保存规则为date时时间格式
 
 
        if (!$upload->upload()) {// 上传错误提示错误信息
            echo json_encode(array('msg' => $this->error($upload->getErrorMsg()), 'status' => 0));
        } else {// 上传成功 获取上传文件信息
            $info = $upload->getUploadFileInfo();
            $picname = $info[0]['savename'];
             
            $picname = explode('/', $picname);
            $picname = $picname[0] . '/' . $prefix . $picname[1];
            echo json_encode(array('status' => 1, 'msg' => $picname));
             
             
             
             
             
        }
    }

然后你比如生成300*300的的图片你就定义一个方法

例如: //商品缩略图上传
    public function uploadThumb() {
        return $this->_upload('230,160', '230,121', 'thumb/', 'shop_,thumb_');
    }


然后400*400的就又写一个方法:

 //商品缩略图上传
    public function uploadThumb() {
        return $this->_upload('400,200', '400,200', 'thumb/', 'shop_,thumb_');
    }



protected function _upload($fileToUpload, $width, $height, $path, $prefix) {
		$fileElementName=$_FILES[$fileToUpload];
		$upload = new \Think\Upload();// 实例化上传类
		$upload->maxSize = '3145728'; //C('UPLOAD_SIZE'); // 设置附件上传大小
		$upload->savePath = './Uploads/' . $path; // 设置附件上传目录
		$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
		$upload->saveRule = 'time';
		$upload->uploadReplace = true; //是否存在同名文件是否覆盖
		$upload->thumb = true; //是否对上传文件进行缩略图处理
		$upload->thumbMaxWidth = $width; //缩略图处理宽度
		$upload->thumbMaxHeight = $height; //缩略图处理高度
		$upload->thumbPrefix = $prefix; //缩略图前缀
		$upload->thumbPath = './Uploads/' . $path . date('Y/Y-m-d', time()) . '/'; //缩略图保存路径
		$upload->thumbRemoveOrigin = true; //上传图片后删除原图片
		$upload->autoSub = true; //是否使用子目录保存图片
		$upload->subType = 'date'; //子目录保存规则
		$upload->dateFormat = 'Ymd'; //子目录保存规则为date时时间格式
	
		$info   =   $upload->uploadOne($fileElementName);
		if (!$info) {// 上传错误提示错误信息
			$error = $this->error($upload->getError());
		} else {// 上传成功 获取上传文件信息
			$info = $upload->getUploadFileInfo();
			$msg = $info['savepath'].$info['savename'];	 
		}
    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值