搜索
系统检测到您的用户名不符合规范:

裁剪头像怎么没办法保存子目录

浏览:490 发布日期:2015年10月12日 分类:求助交流
Config.php<?php
return array(
//图片上传配置
'AVATAR_UPLOAD_CONFIG' => array(
'mimes' => array(), //允许上传的文件MiMe类型
'maxSize' => 0, //上传的文件大小限制 (0-不做限制)
'exts' => array('jpg','png','gif'), //允许上传的文件后缀
'autoSub' => false, //自动子目录保存文件
/*'subName' => array('date', 'Y-m-d'),*/ //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
'subName' => 'make_avatar_dir',
'rootPath' => './Avatar/', //保存根路径

/*'saveName' => array('get_avatar_name', ''),*/ //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
'saveExt' => 'jpg', //文件保存后缀,空则使用原后缀
'replace' => true, //存在同名是否覆盖
'hash' => true, //是否生成hash编码
'callback' => false, //检测文件是否存在回调,如果存在返回文件信息数组
'driver' => 'Local', // 文件上传驱动
'driverConfig' => array(), // 上传驱动配置
),
'AVATAR_CROP_CONFIG' => array(
'mimes' => array(), //允许上传的文件MiMe类型
'maxSize' => 0, //上传的文件大小限制 (0-不做限制)
'exts' => array('jpg','png','gif'), //允许上传的文件后缀
'autoSub' => true, //自动子目录保存文件
/*'subName' => array('date', 'Y-m-d'),*/ //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
'subName' => 'make_avatar_dir',
'rootPath' => './Avatar/', //保存根路径
/*'saveName' => array('get_avatar_name', ''),*/ //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
'saveExt' => 'jpg', //文件保存后缀,空则使用原后缀
'replace' => true, //存在同名是否覆盖
'hash' => true, //是否生成hash编码
'callback' => false, //检测文件是否存在回调,如果存在返回文件信息数组
'driver' => 'Local', // 文件上传驱动
'driverConfig' => array(), // 上传驱动配置
),
);
//上传头像
public function uploadImg($uid){
$avatar_upload = new \Think\Upload(C('AVATAR_UPLOAD_CONFIG'));
/*$avatar_upload = new Upload(C('AVATAR_UPLOAD_CONFIG'));*/ // 实例化上传类
$avatar_upload -> saveName= 'temp';
//头像目录地址
$path = './Avatar/';
if(!$uppath=$avatar_upload->upload()) { // 上传错误提示错误信息
$this->ajaxReturn(array('status'=>0,'info'=>$upload->getErrorMsg()));
}else{ // 上传成功 获取上传文件信息
$temp_size = getimagesize($path.'temp.jpg');
if($temp_size[0] < 100 || $temp_size[1] < 100){//判断宽和高是否符合头像要求
$this->ajaxReturn(array('status'=>0,'info'=>'图片宽或高不得小于100px!'));
}
$this->ajaxReturn(array('status'=>1,'ppath'=>__ROOT__.'/Avatar/'.'temp.jpg'));
}
}


//裁剪并保存用户头像
public function cropImg($uid){
$upload = new \Think\Upload(C('AVATAR_CROP_CONFIG'));
/*$upload = new Upload(C('AVATAR_UPLOAD_CONFIG'));*/ // 实例化上传类
$upload -> saveName= $uid.'_temp';
$upload->autoSub=true;

//图片裁剪数据
$params = I('post.'); //裁剪参数
if(!isset($params) && empty($params)){
$this->error('参数错误!');
}

print_r($params );
//头像目录地址
$path = './Avatar/';
//要保存的图片
$real_path = $path.$uid.'_avatar.jpg';
//临时图片地址
$pic_path = $path.'temp.jpg';
//实例化裁剪类
$Think_img=new \Think\Image();
/*$Think_img = new ThinkImage(THINKIMAGE_GD);*/
//裁剪原图得到选中区域
$upload->savePath = $real_path; //保存路径
print_r($path);
$Think_img->open($pic_path)->crop($params['w'],$params['h'],$params['x'],$params['y'])->save($real_path);
//生成缩略图

/* $Think_img->open($real_path)->thumb(300,300, 1)->save($path.'avatar_100.jpg');
$Think_img->open($real_path)->thumb(150,150, 1)->save($path.'avatar_60.jpg');
$Think_img->open($real_path)->thumb(80,80, 1)->save($path.'avatar_30.jpg');*/
$Think_img->open($real_path)->thumb(300,300, 1)->save($path.$this->save_avatar_file($uid,'big'));
$Think_img->open($real_path)->thumb(150,150, 1)->save($path.$this->save_avatar_file($uid,'middle'));
$Think_img->open($real_path)->thumb(80,80, 1)->save($path.$this->save_avatar_file($uid,'small'));
$this->success('上传头像成功','',10);
}
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
bobofan1995
积分:454 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /