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 相关文章推荐
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
PHP MSSQL 存储过程的方法
Dec 24 PHP
网站用php实现paypal整合方法
Nov 28 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
PHP实现搜索相似图片
Sep 22 PHP
php微信开发之谷歌测距
Jun 14 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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
西德产收音机
2021/03/01 无线电
php 执行系统命令的方法
2009/07/07 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
9个比较实用的php代码片段
2016/03/15 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python如何使用unittest测试接口
2018/04/04 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python编写猜数字小游戏
2019/10/06 Python
python修改文件内容的3种方法详解
2019/11/15 Python
Python实现区域填充的示例代码
2021/02/03 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
浅谈Node的内存泄露问题
2022/05/06 NodeJs