一些网站的图片只要修改 URL 地址就能得到任何尺寸的图片

news/2024/5/20 21:21:23/文章来源:https://blog.csdn.net/weixin_34221332/article/details/92485942

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

时光网:

http://img21.mtime.cn/CMS/Gallery/2011/07/02/170837.97014036_160X160.jpg

http://img21.mtime.cn/CMS/Gallery/2011/07/02/170837.97014036_362X571.jpg

http://img21.mtime.cn/CMS/Gallery/2011/07/02/170837.97014036_81X27.jpg

Google+

https://lh6.googleusercontent.com/-LJ_oaUgCUf4/SeSdBXIoXzI/AAAAAAAABO0/Boqt0dLZeX8/w500-h375-k/valenmac.jpg

https://lh6.googleusercontent.com/-LJ_oaUgCUf4/SeSdBXIoXzI/AAAAAAAABO0/Boqt0dLZeX8/w239-h167-k/valenmac.jpg

https://lh6.googleusercontent.com/-LJ_oaUgCUf4/SeSdBXIoXzI/AAAAAAAABO0/Boqt0dLZeX8/s497-k/valenmac.jpg

 

使用URLRewrite+实时处理+缓存

淘宝的图片就是使用这种方法来处理的。根据原图使用graphmagick去生成缩略图

简要得代码

nginx rewrite:

rewrite ^/upload/(.+)_(\d+)_(\d+)\.(jpg|png|gif) /upload/thumb.php?src=$1&w=$2&h=$3&type=$4;

$src= $_REQUEST["src"];
$width = $_REQUEST["w"];
$height = $_REQUEST["h"];
$type = strtolower($_REQUEST["type"]);$filename = $src.".".$width."x".$height.".".$type;
if(!file_exists($filename))
{$im = new Imagick();$im->readImage($src);if($im->getImageWidth() >=$im->getImageHeight()){   $im->cropThumbnailImage( $width, $height );}else{   $im->cropImage($im->getImageWidth(),$im->getImageWidth(),0,0);$im->cropThumbnailImage($width,$height);}   $im->writeImage($filename);$im->destroy();
}$contenttype = ""; 
switch($type)
{case "jpg":$contenttype = "jpeg";break;case "jpeg":$contenttype = "jpeg";break;case "png":$contenttype = "png";break;case "gif":$contenttype = "gif";break;
}
header("Content-type:image/".$contenttype);
readfile($filename);

.htaccess url指向image.php

url初始为 image.php

GET过来的url,

虽然url的结尾是.jpg,但它指向的是一个程序而不是静态图片,该程序根据url的参数返回图片.

Rewrite+实时处理+缓存,前段时间小组刚做了个图片站点,使用的就是这种方式,流量不高所以压力也不大。具体实现是Nginx+使用GM做成的Nginx模块,Nginx提供URLRrwrite+缓存,GM模块提供缩放和加水印。站点是这个:

http://pic.hatrix.org/random

http://pic.hatrix.org/random一开始是用IM,后来听淘宝的同学讲GM性能更好,便换成GM喽。

 

转载于:https://my.oschina.net/mickelfeng/blog/298621

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_804992.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web服务器安全服务,服务器防攻击,服务器防木马,服务器权限配置-网站安全服务...

2019独角兽企业重金招聘Python工程师标准>>> 网站安全服务 QQ: 联系 285691605 网站地址 http://blog.bypat.com Bypat 安全维护服务针对与网站被挂马,网站被挂黑链,首页被篡改,网站被黑客入侵,网站被攻击&#xff0c…

iis7.0上发布mvc4.0网站

步骤如下: 1.右击需要发布的项目,在弹出的菜单中选择“发布...”选项 2.在“发布web”对话框中进行设置,配置文件名称默认为“配置文件1”可以修改为需要的名字,以便识别,也可以不改。发布方法选择“文件系统”&#x…

新手学习在Ubuntu 14.04搭建Javaweb网站(2)--开启SSH服务

2019独角兽企业重金招聘Python工程师标准>>> SSH分客户端openssh-client和openssh-server 我们这里要安装的openssh-server 直接输入命令:sudo apt-get install openssh-server 然后确认sshserver是否启动了:ps -e |grep ssh如果看到sshd那…

从12306网站新验证码看Web验证码设计与破解

2019独角兽企业重金招聘Python工程师标准>>> 铁路官方购票网站12306又出新招,在登录界面推出了全新的验证方式,用户在填写好登录名和密码之后,还要准确的选取图片验证码才能登陆成功。据悉,12306验证码改版后&#xff…

网站服务端开发

2019独角兽企业重金招聘Python工程师标准>>> Memcached vs. Redis?ASP.NET Session State Management With Redis (Local Server Farm Testing) 转载于:https://my.oschina.net/ITELITE/blog/515708

python unittest库 官方网站

为什么80%的码农都做不了架构师?>>> 摘要里面是python unittest的官方摘要,如果有不懂的可以去查。 下面是一个老外写的一个博客也不错,可以看看: http://pyunit.sourceforge.net/pyunit.html 转载于:https://my.o…

亲历钓鱼网站

几个环节都让人无暇思考其真实性,直到我刚好去查看了邮箱帐号,发现根本没有这个帐号,才反应过来。

艾宾浩斯计划表自动生成网站_恋练有词高频词组整理笔记三(附艾宾浩斯计划表自动生成小技巧)...

点击关注不错过每一份精彩笔记!温馨提示回复【考研福利】获取考研资料回复【VIP】查看2020考研服务包2019-08-21考研倒计时:122天导LEAD语今天四六级可以查分了,参加了考试的小伙伴可以怀着激动又刺激的心情打开查分界面了。再次表明一下&…

在网站中引入特殊字体

我的天~~这设计稿真好看!又有给自己加戏写效果的冲动咯。。。 这都是些什么字体??说好的微软雅黑法大宋体呢。。 又是一场切图的恶战。。。这小图标这么多,切个雪碧图还要做分辨率、兼容性适应。。不划算啊。。 所以这种时候就是特…

MiniARM工控核心板之-电平转换电路分析(下)(转载于周立功网站)

转载于:http://www.zlg.cn/ipc/article/detail/id/521.html晶体管上拉电阻通过双极性晶体管,集电极由上拉电阻接到电源,输入的高电平的电压值就是电源电压值。以MiniARM核心板与GPRS模块为例,如图 1所示: 图1 晶体管电…

MVC5 网站开发之七 用户功能 2 用户添加和浏览

目录 MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网站开发之五 展示层架构 MVC5 网站开发之六 管理员 1、登录、验证和注销 MVC5 网站开发之六 管理员 2、添加、删除、重…

大型网站架构演进(8)业务拆分

大型网站为了应对日益复杂的业务需求,通过使用分而治之的手段将整个网站的业务分成不同的产品线,然后交给不同的开发团队负责。这样一方面方便应用的扩展和维护,同时不同的应用对应不同的数据库,也减小了原来所有业务数据都在一个…

乐光云服务器网站,乐光云服务器地址

乐光云服务器地址 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码,忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开放…

【转】用node.js爬取网站图片并保存

2019独角兽企业重金招聘Python工程师标准>>> 原文:http://www.jianshu.com/p/177ca8aaf6fb 昨天是传说中的程序员节,虽然我对于这个并无感,但还是来搞点事吧,写一个最简单的爬虫,抓取图片并保存在本地&…

成人网站性能提升20倍之经验谈

色情业是个大行业。互联网上没有多少网站的流量能和最大的色情网站相匹敌。 要搞定这巨大的流量很难。更困难的是,在色情网站上提供的很多内容都是低延迟的实时流媒体而不是简单的静态视频。但是对于所有碰到过的挑战,我很少看到有搞定过它们的开发人员写…

Robot Framework 学习(1)- 简单网站兼容性测试

Robot Framework 简单网站兼容性测试0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD)。它使用的是表格式的测试数据语法,并…

国内五款好用的开源建站系统

国内的开源建站产品已经占据了建站系统的半壁江山,由于二次开发成本低,越来越多的建站者也倾向于选择开源产品来建站。今天推荐5款优秀的开源建站系统,都有免费版本,有需要可以去试试。 ECTouch ECTouch是一款开源免费的移动商城网…

阿里云域名解析+网站备案

1.登录阿里云服务器后: 域名解析:域名与网站(万网)》域名》解析》修改(修改ip即可,这里修改的ip是你要解析指向的) 2.网站备案:(某一天的早上照常上班,浏览公司网站&…

一例千万级pv高性能高并发网站架构

受CU管理员的邀请参考“千万级pv高性能高并发网站架构与设计交流探讨帖”主题的交流,发表了一案例与大家分享。 一个支撑千万级PV的网站是非常考验一个架构是否成熟、健壮(本文不涉及软件架构的层面,有兴趣也可以讨论)。现抛出一个系统层面的架构&…

Dz去掉index.html,Typecho去掉index并实现网站改版

typecho的seo优化,相对来说还是很不错的。但是我们的搜索引擎最喜欢爬取静态的页面,如hello.html而对于动态的页面效果肯定没有静态的好。typecho默认的网址路劲为https://xxx.com/index.php/archives/{cid}/本文教你怎样优化网址链接。去掉index.php在网…