php簡單實用生成縮略圖代碼

來源:互聯網
上載者:User


本程式是根據使用者上傳圖片後再把上傳的圖片按比例生成縮略圖

<?


$w?$resizewidth=$w:$resizewidth=400;// 生成圖片的寬度


$h?$resizeheight=$h:$resizeheight=400;// 生成圖片的高度


function resizeimage($im,$maxwidth,$maxheight,$name){


    $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,$name);


        imagedestroy ($newim);


    }else{


        imagejpeg ($im,$name);


    }


}

if($_files['uploadfile']['size']){
    if($_files['uploadfile']['type'] == "image/pjpeg"){
        $im = imagecreatefromjpeg($_files['uploadfile']['tmp_name']);
    }elseif($_files['uploadfile']['type'] == "image/x-png"){
         $im = imagecreatefrompng($_files['uploadfile']['tmp_name']);
    }elseif($_files['uploadfile']['type'] == "image/gif"){
         $im = imagecreatefromgif($_files['uploadfile']['tmp_name']);
    }
    if($im){
        if(file_exists('bbs.jpg')){
            unlink('bbs.jpg');
        }
        resizeimage($im,$resizewidth,$resizeheight,'bbs.jpg');
        imagedestroy ($im);
 
    }
}
//$uploadfile="www.jzread.com.jpg";
?>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.