Linux图片马PHP,php 根据请求生成缩略图片保存到Linux图片服务器的代码

这个功能,有点类似图片站点分离的操作,就是将图片单独架设在一台服务器上,有兴趣的朋友,好好研究下吧。

代码如下:

复制代码 代码示例:

/**

* 缩略图片 Linux图片服务器

* edit www.jbxue.com

*/

$picID=$_GET['imgID'];

$picTypes=".".$_GET['imgType'];

$picWidth=$_GET['ImgWidth'];

if($picID!="")

{

//请求的是小图

if($picWidth>0){

//如果小图存在

if(file_exists($picID."_".$picWidth.$picTypes))

{

outputImg($picID."_".$picWidth.$picTypes);

}else

{

if(file_exists($picID."_0".$picTypes)){

//如果不存在小图直接生成小图

resizeImg($picID."_0".$picTypes,$picWidth,$picWidth,$picID."_".$picWidth.$picTypes);

//输出

outputImg($picID."_".$picWidth.$picTypes);

}else

{

//如果大图不存在

resizeImg('noDefaultImage.gif',$picWidth,$picWidth,noDefaultImage."_".$picWidth.".gif");

//输出

outputImg($picID."_".$picWidth.$picTypes);

}

}

}

//判断文件是否存在大图

if(file_exists($picID."_0".$picTypes))

{

$img_file = $picID."_0".$picTypes;

outputImg($img_file);

}

else

{

//如果不存在图片

$img_file = 'noDefaultImage.gif';

outputImg($img_file);

}

}

//输出图片

function outputImg($img_file)

{

$fp = fopen($img_file, 'rb');

$content = fread($fp, filesize($img_file)); //二进制数据

fclose($fp);

header('Content-Type: image/gif');

echo $content;

}

/**

* 生成缩略图

* $srcName----为原图片路径

* $newWidth,$newHeight----分别缩略图的最大宽,高

* $newName----为缩略图文件名(含路径)

* @param string $srcName

* @param int $newWidth

* @param int $newHeight

* @param string $newName

* return viod

*/

function resizeImg($srcName,$newWidth,$newHeight,$newName="")

{

if($newName=="")

{

$nameArr=explode('.',$srcName);

$expName=array_pop($nameArr);

$expName=$expName;

array_push($nameArr,$expName);

$newName = implode('.',$nameArr);

}

$info = "";

$data = getimagesize($srcName,$info);

switch ($data[2])

{

case 1:

if(!function_exists("imagecreatefromgif")){

echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回";

exit();

}

$im = ImageCreateFromGIF($srcName);

break;

case 2:

if(!function_exists("imagecreatefromjpeg")){

echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回";

exit();

}

$im = ImageCreateFromJpeg($srcName);

break;

case 3:

$im = ImageCreateFromPNG($srcName);

break;

}

$srcW=ImageSX($im);

$srcH=ImageSY($im);

$newWidthH=$newWidth/$newHeight;

$srcWH=$srcW/$srcH;

if($newWidthH<=$srcWH){

$ftoW=$newWidth;

$ftoH=$ftoW*($srcH/$srcW);

}

else{

$ftoH=$newHeight;

$ftoW=$ftoH*($srcW/$srcH);

}

if($srcW>$newWidth||$srcH>$newHeight)

{

if(function_exists("imagecreatetruecolor"))

{

@$ni = ImageCreateTrueColor($ftoW,$ftoH);

if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

else

{

$ni=ImageCreate($ftoW,$ftoH);

ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

}

else

{

$ni=ImageCreate($ftoW,$ftoH);

ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

if(function_exists('imagejpeg')) ImageJpeg($ni,$newName);

else ImagePNG($ni,$newName);

ImageDestroy($ni);

}

ImageDestroy($im);

}

?>

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

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

相关文章

GitHub 遭抵制!AI 代码生成神器竟成“抄袭工具”?

整理 | 郑丽媛出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;上周&#xff0c;微软、GitHub、OpenAI 三方联手推出的 AI 代码生成神器 GitHub Copilot 一经官宣便引起巨大关注&#xff1a;试问哪个开发者不想要这么一位“虚拟程序员”来解放自己的双手&#xff1f…

阿里云性能测试工具PTS介绍

简介&#xff1a; 性能测试 PTS&#xff08;Performance Testing Service&#xff09;是具备强大的分布式压测能力的 SaaS 压测平台&#xff0c;可模拟海量用户的真实业务场景&#xff0c;全方位验证业务站点的性能、容量和稳定性。 阿里云 阿里云智能GTS-平台技术部-SRE团队 1…

php微信公众号的服务器配置,微信公众号服务器配置选项PHP示例代码

最近微信公众号遇到有点奇怪的问题&#xff0c;使用的是tp框架&#xff0c;之前配置都ok的&#xff0c;最近有需求重新填写url选项&#xff0c;可配置时一直显示token失败&#xff0c;解决方案&#xff0c;参考以下php示例代码来修改&#xff0c;同时最好把输出注释掉。最后通过…

Dubbo 3.0 前瞻系列 | 2020双11,Dubbo3.0 在考拉的超大规模实践

很多开发者一直以来好奇&#xff1a;阿里自己有没有在用Dubbo&#xff0c;会不会用Dubbo&#xff1f;在刚刚结束的双11&#xff0c;我们了解到阿里云今年提出了“三位一体”的理念&#xff0c;即将“自研技术”、“开源项目”、“商业产品”形成统一的技术体系&#xff0c;最大…

OpenStack管理界面开源啦!

日前&#xff0c;木兰开源社区TOC召开了孵化项目审议会议&#xff0c;其项目分别覆盖数据库、大数据处理、网络、流媒体、云计算等关键领域。其中&#xff0c;浪潮数据纯自研产品Skyline成功入围。 自开源至今&#xff0c;OpenStack常被诟病的一点是原生界面不太好用&#xff…

厂商 push 不通排查指南

简介&#xff1a; MPS 集成多个三方渠道&#xff0c;保障 push 使命必达的必须知道的几件事。 为了提升「MPS 消息推送」的推送的到达率&#xff0c;mPaaS 集成了华为、小米等厂商的推送功能&#xff0c;从而有效地提高用户留存率&#xff0c;提升用户体验。在日常运维过程中&a…

PHP读取qq群成员,js获取QQ群成员的经典代码

本节主要内容&#xff1a;22 行 JavaScript 代码实现 QQ 群成员提取器。如果获取失败&#xff0c;可能的原因如下&#xff1a;1&#xff0c;QQ版本升级了2&#xff0c;博客中的代码有些繁琐22 行 JavaScript 代码实现 QQ 群成员提取器。代码&#xff1a;复制代码 代码示例:var …

Hologres助力飞猪双11实时数据大屏秒级响应

简介&#xff1a; 本文重点介绍Hologres如何落地阿里巴巴飞猪实时数仓场景&#xff0c;并助力飞猪双11实时数据大屏3秒起跳&#xff0c;全程0故障。 摘要&#xff1a;刚刚结束的2020天猫双11中&#xff0c;MaxCompute交互式分析&#xff08;下称Hologres&#xff09;实时计算F…

燧原科技首发国内第二代人工智能训练芯片“邃思2.0”

7月7日&#xff0c;燧原科技发布第二代人工智能训练产品——“邃思2.0”芯片、基于邃思2.0的“云燧T20”训练加速卡和“云燧T21”训练OAM模组&#xff0c;全面升级的“驭算TopsRider”软件平台以及全新的“云燧集群”&#xff0c;成为国内首家发布第二代人工智能训练产品组合的…

高德最佳实践:Serverless 规模化落地有哪些价值?

作者 | 何以然&#xff08;以燃&#xff09; 导读&#xff1a;曾经看上去很美、一直被观望的 Serverless&#xff0c;现已逐渐进入落地的阶段。今年的"十一出行节"&#xff0c;高德在核心业务规模化落地 Serverless&#xff0c;由 Serverless 支撑的业务在流量高峰期…

steam api接口 php,php – 将Steam API信息提取到页面

我从Valve那里找到了一个很棒的Steam API,我现在想知道如何逐一提供具体的信息.示例&#xff1a;$steam [‘response’] [‘players’] [‘personastate’].它不需要是那个解决方案.我刚输入一些东西:)请求将如下所示&#xff1a;{"response": {"players":…

Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/啥都有

前言本文是为了帮大家快速回顾了Java中知识点&#xff0c;这套面试手册涵盖了诸多Java技术栈的面试题和答案&#xff0c;相信可以帮助大家在最短的时间内用作面试复习&#xff0c;能达到事半功倍效果。本来想将文件上传到github上&#xff0c;但由于文件太大有的都无法显示所以…

存储计算解耦合,构建中国人英语语音数据库

简介&#xff1a; 通过阿里云为流利说量身打造的数据湖解决方案&#xff0c;解决了流利说多种应用的各类数据的统一存储&#xff0c;帮助流利说构建数据规模高达上千亿的“中国人英语语音数据库”。 公司介绍 流利说是世界领先的科技驱动的教育公司&#xff0c;作为智能教育的…

Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏

简介&#xff1a; 本篇将重点介绍Hologres在阿里巴巴淘宝营销活动分析场景的最佳实践&#xff0c;揭秘FlinkHologres流批一体首次落地阿里双11营销分析大屏背后的技术考验。 概要&#xff1a;刚刚结束的2020天猫双11中&#xff0c;MaxCompute交互式分析&#xff08;下称Hologr…

Service Mesh微服务熔断、限流的骚操作

在微服务架构中&#xff0c;随着服务调用链路变长&#xff0c;为了防止出现级联雪崩&#xff0c;在微服务治理体系中&#xff0c;熔断、限流作为服务自我保护的重要机制&#xff0c;是确保微服务架构稳定运行的关键手段之一。那么什么是熔断、限流&#xff1f;在传统Spring Clo…

pca主成分分析用matlab实现,PCA (主成分分析)详解 (写给初学者) 结合matlab

一、简介PCA(Principal Components Analysis)即主成分分析&#xff0c;是图像处理中经常用到的降维方法&#xff0c;大家知道&#xff0c;我们在处理有关数字图像处理方面的问题时&#xff0c;比如经常用的图像的查询问题&#xff0c;在一个几万或者几百万甚至更大的数据库中查…

微服务最佳实践:MSE 微服务引擎

简介&#xff1a; 微服务引擎 MSE&#xff08;Microservice Engine&#xff09;是一个面向业界主流开源微服务框架 Spring Cloud 和 Dubbo 的一站式微服务平台。其由四个主要部分组成&#xff1a;微服务治理中心、微服务注册中心、微服务配置中心、微服务网关。 MSE 是什么 微…

异地多活之企业架构案例

简介&#xff1a; 异地多活之企业架构案例 1. 前言 多活容灾 MSHA&#xff08;Multi-Site High Availability&#xff09;&#xff0c;是在阿⾥巴巴电商业务环境演进出来的多活容灾架构解决⽅案&#xff0c;可以将业务恢复和故障恢复解耦&#xff0c;有基于灵活的规则调度、跨…

WAIC|高精准、低成本,九章云极DataCanvas突破AutoML难题

2021 年世界人工智能大会&#xff08;WAIC&#xff09;于 7 月 8 日 在上海世博中心拉开帷幕。九章云极DataCanvas董事长方磊受邀参加由世界人工智能大会组委会主办、机器之心承办的“2021 WAICAI开发者论坛”&#xff0c;并发表“Hypernets&#xff1a;自动化机器学习的基础框…

matlab样条插值如何用,三次样条插值matlab实现

%三次样条差值-matlab通用程序 - zhangxiaolu2015的专栏 - CSDN博客 https://blog.csdn.net/zha%【图文】三次样条插值算法详解_百度文库 https://wenku.baidu.com/view/14423f2e1711cc7931b716clcclearxinput(请按照格式[x1,x2,x3...]格式输入yf(x)函数已知点的横坐标xi); %三…