php实现在服务器端调整图片大小的方法


Posted in PHP onJune 16, 2015

本文实例讲述了php实现在服务器端调整图片大小的方法。分享给大家供大家参考。具体分析如下:

在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。

代码包括两部分:

① imageResizer() is used to process the image
② loadimage() inserts the image url in a simpler format

<?php
 function imageResizer($url, $width, $height) {
  header('Content-type: image/jpeg');
  list($width_orig, $height_orig) = getimagesize($url);
  $ratio_orig = $width_orig/$height_orig;
  if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
  } else {
   $height = $width/$ratio_orig;
  }
  // This resamples the image
  $image_p = imagecreatetruecolor($width, $height);
  $image = imagecreatefromjpeg($url);
  imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  // Output the image
  imagejpeg($image_p, null, 100);
 }
 //works with both POST and GET
 $method = $_SERVER['REQUEST_METHOD'];
 if ($method == 'GET') {
  imageResize($_GET['url'], $_GET['w'], $_GET['h']);
  } elseif ($method == 'POST') {
  imageResize($_POST['url'], $_POST['w'], $_POST['h']);
  }
 // makes the process simpler
 function loadImage($url, $width, $height){
  echo 'image.php?url=', urlencode($url) ,
  '&w=',$width,
  '&h=',$height;
 }
?>

用法:

//Above code would be in a file called image.php.
//Images would be displayed like this:
<img src="<?php loadImage('image.jpg', 50, 50) ?>" alt="" />

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

PHP 相关文章推荐
不用GD库生成当前时间的PNG格式图象的程序
Oct 09 PHP
网站加速 PHP 缓冲的免费实现方法
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
PHP正则验证Email的方法
Jun 15 #PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 #PHP
PHP检测用户语言的方法
Jun 15 #PHP
php实现求相对时间函数
Jun 15 #PHP
php数组随机排序实现方法
Jun 13 #PHP
隐性调用php程序的方法
Jun 13 #PHP
PHP获取数组的键与值方法小结
Jun 13 #PHP
You might like
php 随机排序广告的实现代码
2011/05/09 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php中session退出登陆问题
2014/02/27 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Django缓存系统实现过程解析
2019/08/02 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
python线程优先级队列知识点总结
2021/02/28 Python
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
进步之星获奖感言
2014/02/22 职场文书
办公室文员岗位职责
2015/02/04 职场文书
运动会新闻稿
2015/07/17 职场文书
详解Vue的options
2021/05/15 Vue.js
Nginx反向代理配置的全过程记录
2021/06/22 Servers