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 相关文章推荐
php mssql 数据库分页SQL语句
Dec 16 PHP
超级简单的php+mysql留言本源码
Nov 11 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
php HandlerSocket的使用
May 02 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
深入浅析php json 格式控制
Dec 24 PHP
使用php实现从身份证中提取生日
May 09 PHP
php实现的一段简单概率相关代码
May 30 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 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 base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP安全配置详细说明
2011/09/26 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
php简单防盗链实现方法
2015/07/29 PHP
JS 判断代码全收集
2009/04/28 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python提取图像的名字*.jpg到txt文本的方法
2018/05/10 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
会计与出纳自荐书范文
2014/03/16 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
工厂搬迁方案
2014/05/11 职场文书
推普周活动总结
2014/08/28 职场文书
购房委托书
2014/10/15 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android
python高温预警数据获取实例
2022/07/23 Python