欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP生成图片缩略图,并在浏览器中显示,灵活,实用

程序员文章站 2024-01-08 11:26:12
...
由于个人需要上传图片至网站相册,并以缩略图的形式显示,百度了很多源码屡试屡败,自己写了一个函数,已成功运行。缩略图在浏览器中的显示方法是将图片的 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教程有兴趣的朋友有所帮助。