• 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

  • 相关阅读:
    程序开发
    主方法
    日志
    node.js
    二维互换
    前台打断点
    具体的后台断点快捷键
    Jenkins
    断点
    循环
  • 原文地址:https://www.cnblogs.com/imxiu/p/3504293.html
Copyright © 2020-2023  润新知