欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP用GD庫生成高質量的縮略圖片

 更新時間:2011年03月09日 22:47:49   作者:  
PHP用GD庫生成高質量的縮略圖片,PHP一般情況下生成的縮略圖都比較不理想。今天試用PHP,GD庫來生成縮略圖。雖然并不100%完美。可是也應該可以滿足縮略圖的要求了。
以下是PHP源代碼(ResizeImage.php)。
復制代碼 代碼如下:

<?php
$FILENAME="image.thumb";
// 生成圖片的寬度
$RESIZEWIDTH=400;
// 生成圖片的高度
$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 . ".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$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);
}
}
?>

以下是測試代碼(demo.php)
復制代碼 代碼如下:

<?php
include('ResizeImage.php');
if(!empty($_POST)){
echo($FILENAME.".jpg?cache=".rand(0,999999));
}
?>
<form name="test" action="?submit=true" enctype="multipart/form-data" method="post" >
<input type="file" name="image" size="50" value="瀏覽"><p>
<input type="submit" value="上傳圖片">
</form>

相關文章

  • 劣質的PHP代碼簡化

    劣質的PHP代碼簡化

    下面這一小段“劣質”的PHP代碼是一道簡化了的測試題。這種問題就像在問:你該怎樣優(yōu)化這段代碼?
    2010-02-02
  • PHP實現的Redis多庫選擇功能單例類

    PHP實現的Redis多庫選擇功能單例類

    這篇文章主要介紹了PHP實現的Redis多庫選擇功能單例類,結合實例形式分析了php采用單例模式實現redis數據庫的多庫選擇功能,需要的朋友可以參考下
    2017-07-07
  • php生成驗證碼函數

    php生成驗證碼函數

    這篇文章主要介紹了php生成驗證碼函數的相關資料,需要的朋友可以參考下
    2015-10-10
  • PHP常用的排序和查找算法

    PHP常用的排序和查找算法

    這篇文章主要介紹了PHP四種基本排序算法和兩種查找算法示例,本文用一個實例講解冒泡排序法、快速排序法、選擇排序法、插入排序法的使用,需要的朋友可以參考下
    2015-08-08
  • PHP+MySQL高并發(fā)加鎖事務處理問題解決方法

    PHP+MySQL高并發(fā)加鎖事務處理問題解決方法

    這篇文章主要介紹了PHP+MySQL高并發(fā)加鎖事務處理問題解決方法,結合實例形式分析了PHP+MySQL事務處理相關操作技巧與注意事項,需要的朋友可以參考下
    2018-04-04
  • PHP提供下載功能實現案例

    PHP提供下載功能實現案例

    這篇文章主要為大家介紹了PHP提供下載功能實現案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 從康盛產品(discuz)提取出來的模板類

    從康盛產品(discuz)提取出來的模板類

    從康盛產品(discuz)提取出來的模板類,學習php的朋友可以參考下。
    2011-06-06
  • PHP實現對文件鎖進行加鎖、解鎖操作的方法

    PHP實現對文件鎖進行加鎖、解鎖操作的方法

    這篇文章主要介紹了PHP實現對文件鎖進行加鎖、解鎖操作的方法,結合實例形式分析了PHP針對文件進行加鎖、解鎖操作的功能、實現方法與相關注意事項,需要的朋友可以參考下
    2017-07-07
  • php cli模式學習(PHP命令行模式)

    php cli模式學習(PHP命令行模式)

    之前知道php—cli模式是一種類似shell命令式的執(zhí)行php程序,不過一直以為這個是一種落后的方式,應該沒有什么意義,因為從沒有遇到過使用這個cli模式編程的。不過今天遇到了使用cli模式的應用
    2013-06-06
  • 一個不易被發(fā)現的PHP后門代碼解析

    一個不易被發(fā)現的PHP后門代碼解析

    這篇文章主要介紹了一個不易被發(fā)現的PHP后門代碼解析,對于網絡安全來說非常重要,需要的朋友可以參考下
    2014-07-07

最新評論