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投票程序源码
Mar 11 PHP
PHP4中session登录页面的应用
Jul 25 PHP
使用PHP获取汉字的拼音(全部与首字母)
Jun 27 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
php编写简单的文章发布程序
Jun 18 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
PHP的curl函数的用法总结
Feb 14 PHP
phpfpm的作用和用法
Oct 10 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
PHP 变量类型的强制转换
2009/10/23 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
非主流的textarea自增长实现js代码
2011/12/20 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
React 实现拖拽功能的示例代码
2019/01/06 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
js实现中文实时时钟
2020/01/15 Javascript
总结python实现父类调用两种方法的不同
2017/01/15 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
某科技软件测试面试题
2013/05/19 面试题
单位在职证明范本
2014/01/09 职场文书
初中家长寄语
2014/04/02 职场文书
通信工程求职信
2014/07/16 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
离婚起诉书范文2016
2015/11/26 职场文书