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中使用PDF文档功能
Oct 09 PHP
PHP安全配置
Dec 06 PHP
PHP集成FCK的函数代码
Sep 27 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
深入解析php中的foreach函数
Aug 31 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
php导出CSV抽象类实例
Sep 24 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
Apr 01 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
一个颜色轮换的简单例子
2006/10/09 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
php二维数组排序详解
2013/11/06 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
深入理解Python中的*重复运算符
2017/10/28 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
道路建设实施方案
2014/03/18 职场文书
优秀党员申报材料
2014/12/18 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
简单谈谈Python面向对象的相关知识
2021/06/28 Python
JavaScript的Set数据结构详解
2022/02/18 Javascript