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

图片批量上传,前台使用 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

你可能感兴趣的:(yii)