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程序设计有所帮助。
相关推荐
-
php 根据url自动生成缩略图并处理高并发问题
服务器生成缩略图的时机一般分为两种: 1.上传文件时生成 优点:上传时就已经生成需要的缩略图,读取时不需要再判断,减少cpu运算. 缺点:当缩略图尺寸变化时或新增尺寸时,需要重新生成所有的缩略图. 2.访问时生成 优点:1.当有用户访问时才需要生成,没有访问的不用生成,节省空间. 2.当修改缩略图尺寸时,只需要修改设置,无需重新生成所有缩略图. 缺点:当缩略图不存在需要生成时,高并发访问会非常耗服务器资源. 虽然访问时生成会有高并发问题,但其他优点都比第一种方法好,因此只要解决高并发问题就可以.
-
PHP简单生成缩略图相册的方法
本文实例讲述了PHP简单生成缩略图相册的方法.分享给大家供大家参考.具体如下: <?php /* * written by mot * 根目录下自己新建image thumb目录 * */ class thumb{ private $src; private $source; private $s_width; private $s_height; private $dest; private $d_height; private $d_width; private $name; public
-
php利用GD库生成缩略图示例
php利用GD库生成缩略图. 复制代码 代码如下: <form method="post" action="suo_do.php" enctype="multipart/form-data"> <input type="file" name="pic" /> <input type="submit" value="上传1" /> &
-
PHP实现原比例生成缩略图的方法
本文实例讲述了PHP实现原比例生成缩略图的方法.分享给大家供大家参考,具体如下: <?php $image = "jiequ.jpg"; // 原图 $imgstream = file_get_contents($image); $im = imagecreatefromstring($imgstream); $x = imagesx($im);//获取图片的宽 $y = imagesy($im);//获取图片的高 // 缩略后的大小 $xx = 140; $yy = 200;
-
Thinkphp调用Image类生成缩略图的方法
本文实例讲述了Thinkphp调用Image类生成缩略图的方法.分享给大家供大家参考.具体分析如下: Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: import("ORG.Util.Image"); $Img = new Image();//实例化图片类对象 $image_path = './图片路径'; //若当前php文件在Thinkphp的中APP_PATH路径中 //'./
-
php实现上传图片生成缩略图示例
功能很简单,代码中有注释,直接给大家上代码了 复制代码 代码如下: <?php/** * 上传图片生成缩略图 * * 需要GD2库的支持 * * 初始化时需要参数new thumbnails('需要缩略的图片的原始地址','缩略图的宽度','缩略图的高度','(可选参数)缩略图的保存路径'); * 如果最后一个参数不指定,那么缩略图就默认保存在原始图片的所在目录里的small文件夹里, * 如果不存在small文件夹,则会自动创建small文件夹 * * 初始化之后需要调用方法produc
-
php实现根据url自动生成缩略图的方法
本文实例讲述了php实现根据url自动生成缩略图的方法,是非常实用的功能.分享给大家供大家参考.具体方法如下: 原理:设置apache rewrite ,当图片不存在时,调用php创建图片. 例如: 原图路径为:http://localhost/upload/news/2013/07/21/1.jpg 缩略图路径为:http://localhost/supload/news/2013/07/21/1.jpg 当访问 http://localhost/supload/news/2013/07/21
-
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
裁剪示例: 最终裁剪成的图片: 其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片.代码如下: 复制代码 代码如下: $src_path = '1.jpg';//创建源图的实例$src = imagecreatefromstring(file_get_contents($src_path)); //裁剪开区域左上角的点的坐标$x = 100;$y = 12;//裁剪区域的宽和高$width = 200;$height = 200;//最终保存成图片的宽和高,和源要等比例,否则会变形$fi
-
php上传图片生成缩略图(GD库)
首先来一段简单的php上传图片生成缩略图的详细代码,分享给大家供大家参考,具体内容如下 <?php function createThumbnail($imageDirectory, $imageName, $thumbDirectory, $thumbWidth, $quality){ $details = getimagesize("$imageDirectory/$imageName") or die('Please only upload images.'); $type
-
php使用timthumb生成缩略图的方法
本文实例讲述了php使用timthumb生成缩略图的方法.分享给大家供大家参考,具体如下: 生成缩列图有二种方式: 一.提前生成好,供调用 缩列图常规做法是,开始根据网站中的图片规格,要生成多少种缩列图,图片上传过程中就会生成缩列,供不同需求去调用.像这种方法有一点不好就是,如果增加图片规格以后,以前上传的图片没有该规格的,还要重新生成. 二.调用的时候在生成缩列图.这也是我写这篇文章原因. 推荐一个timthumb,个人觉得在不考虑性能,效率的情况下,这个东西,绝对是好用的. 1,下载地址:h
-
php可生成缩略图的文件上传类实例
本文实例讲述了php可生成缩略图的文件上传类及其用法.分享给大家供大家参考.具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下: <?php if ($_GET['action'] == 'save') { $up = new upload(); $up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}'); $up->set_thumb(100,
随机推荐
- Python单链表简单实现代码
- jQuery表单域属性过滤器用法分析
- 老生常谈JavaScript面向对象基础与this指向问题
- 详解Java中Hibernate的基本原理
- 详解Java的Spring框架中的事务管理方式
- WPF绑定实例详解
- Asp.net中处理一个站点不同Web应用共享Session的问题
- 纯PHP代码实现支付宝批量付款
- php中apc缓存使用示例
- php查找字符串出现次数的方法
- AJAX获取服务器当前时间及时间格式输出处理
- 批处理中的预处理实现代码
- 浅析Python编写函数装饰器
- jQuery中attr()和prop()在修改checked属性时的区别
- JavaScript实现form表单的多文件上传
- discuz 帖子模板加广告的方法
- Linux下查看控制环境变量的方法
- C#基础概念二十五问 21-25
- python中实现将多个print输出合成一个数组
- Java+Tomcat 环境部署及安装过程图解