最新公告:最新上线Yii2实战教程,欢迎大家订阅

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

8 8721

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

(下载次数:399次)

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

作者:PHP学习网,本文 jcrop+Uploadify+php无刷新头像上传 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

评论: 8 条 访客:4 条, 博主:4 条 查看引用: 0

  • vistafans    -49楼

    东西挺好 不过 不兼容IE11

    • gaofei0357  

      我做的时候没有测试IE11,主要因为自己电脑上没IE11,等回头我找个测试测试。

      • vistafans  

        ok了 刚是我这边IE11的flash插件冲突了

        • gaofei0357  

          OK,没问题太好啦!

  • vistafans    -48楼

    加个安全过滤和对上传后的文件名进行改名
    现在这个对中文名字的图片会直接崩溃。

    • gaofei0357  

      OK,等忙完这阵,我修改修改。这只是一个例子大家可以根据自己的需求进行相应的更改!

  • zyt_1978    -47楼

    登录了,怎么不能下载。

    • gaofei0357  

      你不能下载碰到啥问题啦?可以进群我告诉你一下

发表评论:

您必须 才能发表留言!

Yii2实战教程

一套真正的从入门到实践的教程,不说废话的讲解,实例操作,作者的亲自指导,有问题随时提问。现在购买即可获取全套完整教程

PHP学习网 – 公众账号

最新文章
阿里云 lnmp一键安装包远程访问Mysql 187
php memcached扩展安装 174
vagrant package 打包命令的用法 154
Warning: require_once(): open_basedir restriction in effect 错误 237
yaf框架教程(6)- yaf路由配置 480
vagrant问题汇总 480
ubuntu系统两个PHP版本坑坏人 455
yaf框架教程(5)- yaf框架的启动文件 392
yaf框架教程(4)- yaf框架的入口文件 373
ElasticSearch5.5.1 单台服务器部署多个节点 467
随机文章
阿里云 lnmp一键安装包远程访问Mysql 187
PHP设计模式-单例模式 1413
yii目录结构 732
Yii2的MVC新特性 428
应用信息的填写 351
ElasticSearch5.5.1 单台服务器部署多个节点 467
html meta中的viewport指令 1077
仿淘宝UED官方博客下载 1528
DIV浏览器垂直居中布局 1340
PHP5之XMLWriter演示 1245
切换注册

登录

切换登录

注册