Yii 图片FTP批量上传 并生成缩略图

本文介绍如何使用Yii框架实现图片批量上传功能,利用uploadify.swf进行前端交互,并结合FTP扩展上传原图至服务器。同时,通过image扩展生成缩略图并再次上传。

图片批量上传,前台使用 uploadify.swf,这个就不介绍了。
这里使用两个扩展,一个是FTP上传的扩展,还有一个是生成缩略图的扩展
地址:http://www.yiiframework.com/extension/ftp/
http://www.yiiframework.com/extension/image/
图片上传后,原图直接上传到image server,生成缩略图后,再将缩略图上传
代码如下

<?php
$file=CUploadedFile::getInstanceByName('Filedata');
list($width,$height,$type,$attr)=getimagesize($file->tempName);
if(!$width||!$height)
        throw new Exception($file->name.' 无法识别图片尺寸,请输出RGB格式的图像文件');

$saveName=md5(Yii::app()->name.mt_rand().$file->name).'.'.$file->extensionName;

//上传到FTP
$ftp = Yii::app()->ftp;
$ftp->put('test/upload/tools/source/'.$saveName, $file->tempName,FTP_BINARY);
list($width,$height,$type,$attr)=getimagesize($file->tempName);
Yii::import('ext.image.Image');
$image=new Image($file->tempName);
//缩略图保存到缓冲目录
$thumbnailName =dirname($file->tempName). DIRECTORY_SEPARATOR.'thumbnail_' . $file->name;
$image->resize(100,$height*100/$width)
        ->quality(90)
        ->save($thumbnailName,false);
$ftp->put('test/upload/tools/thumbnail_'.$saveName, $thumbnailName, FTP_BINARY);
?>

From: http://www.yiichina.com/topic/1308

转载于:https://www.cnblogs.com/imxiu/p/3504293.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值