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 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
简单的php新闻发布系统教程
May 09 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php格式输出文件var_export函数实例
Nov 15 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
Oct 17 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 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
浅谈js中的bind
2019/03/18 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
python基础教程之对象和类的实际运用
2014/08/29 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Php多进程实现代码
2018/05/07 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python实现简单日期工具类
2019/04/24 Python
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
护理专业推荐信
2013/11/07 职场文书
中学生学习保证书
2015/02/26 职场文书
民间借贷借条范本
2015/05/25 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
Java 多态分析
2022/04/26 Java/Android
SQL Server中使用表变量和临时表
2022/05/20 SQL Server