|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2011-9-20 10:39:42
|
显示全部楼层
本帖最后由 zhaobin693 于 2011-9-20 10:40 编辑
jeongee 发表于 2011-9-20 10:12 ![](http://codeigniter.org.cn/forums/static/image/common/back.gif)
发代码,发全 PHP复制代码 define("IDCARDWIDTH","800");//用户身份证复印件限制宽度
define("IDCARDHEIGHT","650");//用户身份证复印件限制高度
define("IDCARDTHUMBW","280");//用户身份证复印件缩略图宽度
define("IDCARDTHUMBH","190");//用户身份证复印将缩略图高度
define("ZSWIDTH","600");//学历证书图片宽度
define("ZSHEIGHT","1000");//学历证书图片高度
define("ZSTHUMBW","200");//学历证书缩略图宽度
define("ZSTHUMBH","300");//学历证书缩略图高度 复制代码
控制器
PHP复制代码 //身份证复印件
$idcard_path_img=$this->path_img."/idcard";
$idcard_img=$this->input->post("idcardCopy");
$cardname=$gonghao."_"."idcard";
$updidcardimgvfy=$this->img_gd2->imgresize($idcard_path_img,$cardname,"idcardCopy",IDCARDWIDTH,IDCARDHEIGHT,$idcard_img);
if (!$updidcardimgvfy){
$data["logicstr"]="身份证复印件图片没有上传成功,只支持png,gif,jpg,不能超过1M";
return $data;
}else {
if ($updidcardimgvfy!="nofile"){
$idcard_img_name=$updidcardimgvfy;
$this->img_gd2->imgthumb($idcard_path_img,$updidcardimgvfy,IDCARDTHUMBW,IDCARDTHUMBH);
}
}
//学历证书复印件
$zsh_path_img=$this->path_img."/zhengshu";
$zsh_img=$this->input->post("certificateCopy");
$zshname=$gonghao."_"."zhengshu";
$updzshimgvfy=$this->img_gd2->imgresize($zsh_path_img,$zshname,"certificateCopy",ZSWIDTH,ZSHEIGHT,$zsh_img);
if(!$updzshimgvfy){
$data["logicstr"]="学历证书复印件图片没有上传成功,只支持png,gif,jpg,不能超过1M";
return $data;
}else {
if ($updzshimgvfy!="nofile"){
$zsh_img_name=$updzshimgvfy;
$this->img_gd2->imgthumb($zsh_path_img,$updzshimgvfy,ZSTHUMBW,ZSTHUMBH);
}
} 复制代码
自定义上传的类
PHP复制代码 <?php
class Img_gd2 extends CI_Model {
function __construct (){
parent ::__construct ();
}
//获取图片大小
public function getimg ($path_img) {
return @getimagesize($path_img);
}
//图片上传压缩
public function imgresize ($path_img,$frontname,$fileyu,$xzwidth,$xzheight,$img0=null){
if(!is_dir($path_img)){@mkdir($path_img);}//如果路径不存在就创建一个目录
$cfg['upload_path'] = "{$path_img}/"; //上传后存放的路径
$cfg['allowed_types'] = 'gif|jpg|png'; //允许上传的文件格式
$cfg['max_size'] = '1024'; //允许上传文件的大小
$cfg['encrypt_name'] = TRUE;
$this->load->library('upload',$cfg);
$uploadvfy=$this->upload->do_upload($fileyu); //do_upload函数中的参数是上传的文件的表单里文件域名
if($uploadvfy){
if($img0){@unlink($path_img."/".$img0);}//删除旧的图片
$arrimg_data=$this->upload->data(); //这是一个辅助函数,它返回你上传文件的所有相关信息的数组。
$refilename="{$frontname}".strtolower($arrimg_data["file_ext"]);
@rename("{$path_img}/{$arrimg_data["file_name "]}","{$path_img}/{$refilename}");
$arrwh=$this->getimg("{$path_img}/{$refilename}"); //这个应该是获取图片的尺寸
$width0=$arrwh[0];
$height0=$arrwh[1];
if($width0>$xzwidth){
$height0=($xzwidth/$width0)*$height0;
$width0=$xzwidth;
}
if($height0>$xzheight){
$width0=($xzheight/$height0)*$width0;
$height0=$xzheight;
}
$config['image_library'] = 'gd2';
$config['source_image'] = "{$path_img}/{$refilename}";
$config['quality'] = '80%';
$config['width'] = $width0;
$config['height'] = $height0;
$this->load->library('image_lib');
$this->image_lib->initialize($config);
$this->image_lib->resize();
unset($this->image_lib); //销毁指定的变量
unset($this->upload);
unset($cfg);
unset($config);
return $refilename;
}
if($this->upload->display_error()) //如果上传失败,则显示错误提示信息并返回空值
{
return null;
}
return "nofile";
}
//生成缩略图
public function imgthumb ($path_img,$img_name,$xzwidth,$xzheight,$img0=null){
@unlink("$path_img/thumb_$img0");
$arrwh=$this->getimg("{$path_img}/{$img_name}");
$width0=$arrwh[0];
$height0=$arrwh[1];
if($width0>$xzwidth){
$height0=($xzwidth/$width0)*$height0;
$width0=$xzwidth;
}
if($height0>$xzheight){
$width0=($xzheight/$height0)*$width0;
$height0=$xzheight;
}
$config['image_library'] = 'gd2';
$config['source_image'] = "{$path_img}/{$img_name}";
$config['new_image']="{$path_img}/thumb_{$img_name}";
$config['quality'] = '80%';
$config['width'] = $width0;
$config['height'] = $height0;
$this->load->library('image_lib');
$this->image_lib->initialize($config);
$this->image_lib->resize();
unset($config);
}
} 复制代码
|
|