php动态生成缩略图并输出显示的方法

yipeiwu_com7年前PHP代码库

本文实例讲述了php动态生成缩略图并输出显示的方法。分享给大家供大家参考。具体如下:

调用方法:

<img src="thumbs.php?filename=photo.jpg&width=100&height=100">

此代码可以为大图片动态生成缩略图显示,图片在内存中生成,不在硬盘生成真实文件

thumbs.php文件如下:

<?php
$filename= $_GET['filename'];
$width = $_GET['width'];
$height = $_GET['height'];
$path="http://localhost/images/"; //finish in "/"
// Content type
header('Content-type: image/jpeg');
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($path.$filename);
if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($path.$filename);
imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
// Output
imagejpeg($image_p, null, 100);
// Imagedestroy
imagedestroy ($image_p);
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

使用adodb lite解决问题

我使用adodb完整版的时候, 服务器竟然不支持,我差点自己去写个类, 把adodb的函数实现,以致我不用改我的程序但是现在我用了adodb-lite,这个是简化的版本,还不错,挺好的h...

PHP中其实也可以用方法链

简单示意一下: 复制代码 代码如下: <?php class test { private $_name = ''; public function setName($name)...

PHP实现根据银行卡号判断银行

bankList.php请在文章末尾下载 header('Content-type:text/html;charset=utf-8'); require_once('bankLis...

php实现约瑟夫问题的方法小结

本文实例总结了php实现约瑟夫问题的方法。分享给大家供大家参考。具体分析如下: 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始...

Discuz! Passport 通行证整合

Discuz! Passport 通行证整合

解决办法: 第一步: 到dz的数据库表cdb_settings 找到下面这几行修改为 第二步: 删除dz安装目录/forumdata/cache/cache_settings.php第三...