由于个人需要上传图片至网站相册,并以缩略图的形式显示,百度了很多源码屡试屡败,自己写了一个函数,已成功运行。缩略图在浏览器中的显示方法是将图片的 src 地址指向一个php文件,来调用此函数即可显示。
/**
* _thumb()生成缩略图的函数
*/
function _thumb($_filename,$_max_size){ //(图片源地址,最大宽or高)
//获取文件后缀
$_n = explode(‘.’, $_filename);
//生成png表头文件
header(‘content-type:image/png’);
//获取文件的长和高
list($_width,$_height) = getimagesize($_filename);
//生成微缩的长和高
$_percent = $_max_size / (($_width > $_height) ? $_width:$_height);
$_new_width = $_width * $_percent;
$_new_height = $_height * $_percent;
//创建一个微缩画布
$_new_image = imagecreatetruecolor($_new_width, $_new_height);
//按照已有的图片创建一个画布
switch ($_n[1]) {
case ‘jpg’:
$_image = imagecreatefromjpeg($_filename);
break;
case ‘png’:
$_image = imagecreatefrompng($_filename);
break;
case ‘gif’:
$_image = imagecreatefromgif($_filename);
break;
}
//将原图采集后重新复制到图上,就缩略了
imagecopyresampled($_new_image, $_image, 0,0,0,0, $_new_width, $_new_height, $_width, $_height);
imagepng($_new_image);
imagedestroy($_new_image);
imagedestroy($_image);
}
以上就介绍了php生成图片缩略图,并在浏览器中显示,灵活,实用,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。