• 技术文章 >php教程 >php手册

    可定制的PHP缩略图生成程式(需要GD库支持)

    2016-06-13 12:33:29原创434
    经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节 使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试


    经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节

    使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试


    复制代码 代码如下:



    $FILENAME="image_name";

    // 生成图片的宽度
    $RESIZEWIDTH=400;

    // 生成图片的高度
    $RESIZEHEIGHT=400;

    //生成图片的路径
    $uploaddir="c:/winnt/temp";

    function ResizeImage($im,$maxwidth,$maxheight,$name){
    global $uploaddir;
    $width = imagesx($im);
    $height = imagesy($im);
    if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
    if($maxwidth && $width > $maxwidth){
    $widthratio = $maxwidth/$width;
    $RESIZEWIDTH=true;
    }
    if($maxheight && $height > $maxheight){
    $heightratio = $maxheight/$height;
    $RESIZEHEIGHT=true;
    }
    if($RESIZEWIDTH && $RESIZEHEIGHT){
    if($widthratio < $heightratio){
    $ratio = $widthratio;
    }else{
    $ratio = $heightratio;
    }
    }elseif($RESIZEWIDTH){
    $ratio = $widthratio;
    }elseif($RESIZEHEIGHT){
    $ratio = $heightratio;
    }
    $newwidth = $width * $ratio;
    $newheight = $height * $ratio;
    if(function_exists("imagecopyresampled")){
    $newim = imagecreatetruecolor($newwidth, $newheight);
    imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    }else{
    $newim = imagecreate($newwidth, $newheight);
    imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    }
    ImageJpeg ($newim,$uploaddir.$name . ".jpg");
    ImageDestroy ($newim);
    }else{
    ImageJpeg ($im,$uploaddir.$name . ".jpg");
    }
    }



    if($_FILES['image']['size']){
    if($_FILES['image']['type'] == "image/pjpeg"){
    $im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
    }elseif($_FILES['image']['type'] == "image/x-png"){
    $im = imagecreatefrompng($_FILES['image']['tmp_name']);
    }elseif($_FILES['image']['type'] == "image/gif"){
    $im = imagecreatefromgif($_FILES['image']['tmp_name']);
    }
    if($im){
    if(file_exists("$FILENAME.jpg")){
    unlink("$FILENAME.jpg");
    }
    ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
    ImageDestroy ($im);
    }
    }
    ?>













    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php公用函数列表[正则] 下一篇:实现了一个PHP5的getter/setter基类的代码
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题• PHP更新购物车数量(表单部分/PHP处理部分)• php中计算程序运行时间的类代码• Linux下CoreSeek及PHP扩展模块的安装• PHP支持多种格式图片上传(支持jpg、png、gif)