jcrop+Uploadify+php无刷新头像上传

2014年7月21日 飞飞 阅读(12.11K)

20140721145532

jcrop+Uploadify+php无刷新头像上传,经过学习和研究做成的一个例子,共享出来以供大家参考和学习,有不合适的地方欢迎大家拍砖,至于jcrop和uploadify教程以后会逐渐整理出来

裁切图片类(注:例子中没用到,需要用的可以自己修改)

/**
* 裁切不同图片的一个类,大家可以看着用
* @author    GaoFei 307087394@qq.com
* @PHP学习网    http://www.viphper.com
*/
class cutImages{

private $filename;  //原文件全路径
private $x; //横坐标
private $y; //纵坐标
private $x1; //源图宽
private $y1; //源图高
private $ext; //文件后缀
private $width=120; //宽
private $height=120; //高
private $jpeg_quality=90; //图片生成的保真度  范围0(质量最差)-100(质量最好)

public function __construct(){

}

/**
* 初始化截图对象
* @param unknown_type $filename
* @param unknown_type $x
* @param unknown_type $y
* @param unknown_type $x1
* @param unknown_type $y1
*/
public function initialize($filename,$x,$y,$x1,$y1){
if(file_exists($filename)){
$this->filename = $filename;
$pathinfo = pathinfo($filename);
$this->ext = strtolower($pathinfo[‘extension’]); //将扩展名转为小写
}else{
$e = new Exception(‘the file is not exists!’,1050);
throw $e;
}

$this->x = $x;
$this->y = $y;
$this->x1 = $x1;
$this->y1 = $y1;
}

/**
* 生成截图
* 根据不同的图片格式生成不同的截图
*/
public function generateShot(){
switch($this->ext){
case ‘jpg’:
$this -> generateJpg();
break;
case ‘png’:
$this -> generatePng();
break;
case ‘gif’:
$this -> generateGif();
break;
default:
return false;

}
}

/**
* 获取生成的小图的文件
*/
public function getShotName(){
$pathinfo = pathinfo($this->filename);
$fileinfo = explode(‘.’,$pathinfo[‘basename’]);
$cutfilename = $fileinfo[0].’_small’.$this->ext;
return $pathinfo[‘dirname’].’/’.$cutfilename;
}

/**
* 生成jpg图片
*/
public function generateJpg(){
$shotname = $this->getShotName();
$img_r = imagecreatefromjpeg($this->filename); //从url新建一图像
$dst_r = imageCreateTrueColor($this->width,$this->height); //创建一个真色源的图片
imagecopyresampled($dst_r,$img_r,0,0,$this->x,$this->y,$this->width,$this->height,$this->x1,$this->y1);
imagejpeg($dst_r,$shotname,$this->jpeg_quality);

return $shotname;
}

/**
* 生成png图片
*/
public function generatePng(){
$shotname = $this->getShotName();
$img_r = imagecreatefrompng($this->filename); //从url新建一图像
$dst_r = imageCreateTrueColor($this->width,$this->height); //创建一个真色源的图片
imagecopyresampled($dst_r,$img_r,0,0,$this->x,$this->y,$this->width,$this->height,$this->x1,$this->y1);
imagepng($dst_r,$shotname);

return $shotname;
}

/**
* 生成gif图片
*/
public function generateGif(){
$shotname = $this->getShotName();
$img_r = imagecreatefromgif($this->filename);
$dst_r = imageCreateTrueColor($this->width,$this->height);
imagecopyresampled($dst_r,$img_r,0,0,$this->x,$this->y,$this->width,$this->height,$this->x1,$this->y1);
if(imagegif($dst_r,$shotname)){
return $shotname;
}

}

}




注意:您需要在网站顶部 注册 后,才能下载资源

资源名称:jcrop+Uploadify+php无刷新头像上传【PHP学习网】.rar

(下载次数:409次)

提示:此资源由PHP学习网整理或原创,转载请注明。QQ群:66357155

未经允许不得转载:PHP学习网 » jcrop+Uploadify+php无刷新头像上传
分享到:

相关推荐

评论8

要发表评论,您必须先
  1. #3
    登录了,怎么不能下载。
    zyt_19782016-04-14 9:13:09
    • 你不能下载碰到啥问题啦?可以进群我告诉你一下
      gaofei03572016-04-21 12:59:02
  2. #2
    加个安全过滤和对上传后的文件名进行改名 现在这个对中文名字的图片会直接崩溃。
    vistafans2014-09-10 15:38:55
    • OK,等忙完这阵,我修改修改。这只是一个例子大家可以根据自己的需求进行相应的更改!
      gaofei03572014-09-10 15:43:53
  3. #1
    东西挺好 不过 不兼容IE11
    vistafans2014-09-05 15:57:40
    • 我做的时候没有测试IE11,主要因为自己电脑上没IE11,等回头我找个测试测试。
      gaofei03572014-09-05 16:01:02
      • ok了 刚是我这边IE11的flash插件冲突了
        vistafans2014-09-05 16:23:07

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

扫码关注微信公众号

扫描关注微信公众号