• 技术文章 >后端开发 >php教程

    php 上传图片并按比例生成指定大小图_PHP教程

    2016-07-13 10:45:40原创456
    php 上传图片并按比例生成指定大小图 这是一款图象缩略函数哦,把上传的新图片给$srcfile然后进行文件按$thumbwidth 缩小图宽最大尺寸 与$thumbheitht 缩小图高最大尺寸 生成小图。

    php教程 上传图片并按比例生成指定大小图
    这是一款图象缩略函数哦,把上传的新图片给$srcfile然后进行文件按$thumbwidth 缩小图宽最大尺寸 与$thumbheitht 缩小图高最大尺寸 生成小图。
    图象缩略函数
    参数说明:

    $srcfile 原图地址;
    $dir 新图目录
    $thumbwidth 缩小图宽最大尺寸
    $thumbheitht 缩小图高最大尺寸
    $ratio 默认等比例缩放 为1是缩小到固定尺寸。
    */
    function makethumb($srcfile,$dir,$thumbwidth,$thumbheight,$ratio=0)
    {
    //判断文件是否存在
    if (!file_exists($srcfile))return false;
    //生成新的同名文件,但目录不同
    $imgname=explode('//m.sbmmt.com/m/',$srcfile);
    $arrcount=count($imgname);
    $dstfile = $dir.$imgname[$arrcount-1];
    //缩略图大小
    $tow = $thumbwidth;
    $toh = $thumbheight;
    if($tow < 40) $tow = 40;
    if($toh < 45) $toh = 45;
    //获取图片信息
    $im ='';
    if($data = getimagesize($srcfile)) {
    if($data[2] == 1) {
    $make_max = 0;//gif不处理
    if(function_exists("imagecreatefromgif")) {
    $im = imagecreatefromgif($srcfile);
    }
    } elseif($data[2] == 2) {
    if(function_exists("imagecreatefromjpeg")) {
    $im = imagecreatefromjpeg($srcfile);
    }
    } elseif($data[2] == 3) {
    if(function_exists("imagecreatefrompng")) {
    $im = imagecreatefrompng($srcfile);
    }
    }
    }
    if(!$im) return '';
    $srcw = imagesx($im);
    $srch = imagesy($im);
    $towh = $tow/$toh;
    $srcwh = $srcw/$srch;
    if($towh <= $srcwh){
    $ftow = $tow;
    $ftoh = $ftow*($srch/$srcw);
    } else {
    $ftoh = $toh;
    $ftow = $ftoh*($srcw/$srch);
    }
    if($ratio){
    $ftow = $tow;
    $ftoh = $toh;
    }
    //缩小图片
    if($srcw > $tow || $srch > $toh || $ratio) {
    if(function_exists("imagecreatetruecolor") && function_exists("imagecopyresampled") && @$ni = imagecreatetruecolor($ftow, $ftoh)) {
    imagecopyresampled($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch);
    } elseif(function_exists("imagecreate") && function_exists("imagecopyresized") && @$ni = imagecreate($ftow, $ftoh)) {
    imagecopyresized($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch);
    } else {
    return '';
    }
    if(function_exists('imagejpeg')) {
    imagejpeg($ni, $dstfile);
    } elseif(function_exists('imagepng')) {
    imagepng($ni, $dstfile);
    }
    }else {
    //小于尺寸直接复制
    copy($srcfile,$dstfile);
    }
    imagedestroy($im);
    if(!file_exists($dstfile)) {
    return '';
    } else {
    return $dstfile;
    }
    }

    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/633024.htmlTechArticlephp 上传图片并按比例生成指定大小图这是一款图象缩略函数哦,把上传的新图片给$srcfile然后进行文件按$thumbwidth 缩小图宽最大尺寸 与$th...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 上传 图片 按比例 生成 指定 大小 php 上传 图片 按比例 生成 指定 大小 图这 是一
    上一篇:php图片处理类(生成缩略图,增加水印,获取图片信息)_PHP教程 下一篇:php 生成各类统计图实例_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一个有趣的命令:php -S(小技巧分享)• 2022最新浅析PHP特性、内核及架构• 教你创建虚拟主机并运行php项目(phpstudy + wamp)• 一文详细PHP模板引擎的原理(附代码示例)• PHP 和 XML: 使用expat函数_PHP
    1/1

    PHP中文网