缩略图的主要是先思路如下
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/5/27 * Time: 14:49 */ //公共函数库 /** * *等比缩放函数(以保存的方式实现) * * @param string $picname 被锁放的处理图片源 * @param int $maxx 缩放后 图片的最大宽度 * @param int $maxy 缩放后图片的最大高度 * @param string $pre 缩放后的图片名的前缀 * @return String 个返回后的图片名称 ,如 a.jpg=>s_a.jpg */ header("content-type:text/html;charset=utf-8"); //首先封装一个类 类里定义 的参数 上面有注释 function ImageUpdateSize($picname,$maxx=100,$maxy=100,$pre="s_") { //获取图片文件的宽高,赋予变量值; $info = getimagesize($picname); $w = $info[0];/*获取宽度*/ $h = $info[1];/*获取高度*/ // 获取图片的类型并为此 创建对应的图片资源 switch ($info[2]) { case 1:/*gif*/ $im = imagecreatefromgif($picname); case 2:/*jpg*/ $im = imagecreatefromjpeg($picname); break; case 3:/*png*/ $im = imagecreatefrompng($picname); break; default: die("图片类型错误!"); } // 计算缩放比例 if (($maxx / $w) > ($maxy / $w)) { $b = $maxy / $w; } else { $b = $maxx / $w; } // echo $b; // 计算缩放后的尺寸 $nw = floor($w * $b); $nh = floor($h * $b); // 创建一个新的图像源(目标图像) $nim = imagecreatetruecolor($nw, $nh); // 执行等比例缩放 imagecopyresampled($nim, $im, 0, 0, 0, 0, $nw, $nh, $w, $h); // 输出图像(根据源图像的类型,输出为对应的类型) $picinfo = pathinfo($picname); /*解析源文件的路径信息*/ $newpicname = $picinfo['dirname'] . "/" . $pre . $picinfo['basename']; switch ($info[2]) { case 1 : imagegif($nim, $newpicname); break; case 2 : imagejpeg($nim, $newpicname); break; case 3 : imagepng($nim, $newpicname); break; } //释放图片资源 imagedestroy($im); imagedestroy($nim); // 返回结果 return $newpicname; } echo ImageUpdateSize('./image/picture.jpg',200,200,"ss_"); // ?>