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句法规则详解 入门学习
Nov 09 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php获取新浪微博数据API实例
Nov 12 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
Dec 21 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
php正则修正符用法实例详解
Dec 29 PHP
PHP与Perl之间知识点区别整理
Mar 19 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
浅谈Python的异常处理
2016/06/19 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Django models文件模型变更错误解决
2020/05/11 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
大学生应聘自荐信
2013/10/11 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
追悼会答谢词范文
2015/09/29 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang