文档章节

自己的写代码竟然记不得了

o
 oneboi
发布于 2016/11/17 16:37
字数 382
阅读 5
收藏 0
<?php 

// $path原始图像路径
// width宽度

function resizeImage($path,$width,$newname,$quality=75)
 {



       //获得原始图片的宽和高以及图片类型
	   $imginfo=getimagesize($path);
	   $pic_width = $imginfo[0]; 
	   $pic_height =$imginfo[1] ;
	   $pic_type=image_type_to_extension($imginfo[2] ,false);


	    //压缩比:
	    $ratio=$width/$pic_width;
	   //新的高和宽
		   $newwidth=$width;
		   $newheight=$pic_height*$ratio;

       //构建图片创建函数
        $fun="imagecreatefrom{$pic_type}";


           
        //$im=$fun($path);
        //
        //
        
         $im=imagecreatefromjpeg($path);


         
   

	   if(function_exists("imagecopyresampled"))
	   {


			  $newim = imagecreatetruecolor($newwidth,$newheight);//创建新图片



			imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);//压缩图片


	    }
	    else
	    { 
	    	$newim = imagecreate($newwidth,$newheight);
	    	imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
	    }

         //销毁原始图片
         imagedestroy($im);

         //保存新图片
         
         $func="image{$pic_type}";
         $bool=$func($newim,$newname,$quality);
         if($bool){

         	return $newname;
         }

         //销毁原始图片
    imagedestroy($newim);

 }



$root=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

//获得参数

if(!isset($_GET['img'])){

	header("HTTP/1.0 404 Not Found");
	header("Status: 404 Not Found");
	exit;
}
  $img=$_GET['img'];



 $newurl=$_SERVER['HTTP_HOST']."/yxtcms/".$_GET['img'];//最终图片地址
 $img="./".$img;//拼接地址

if(file_exists($img)){

$info=getimagesize($img);
header("content-type:".$info['mime']);
echo file_get_contents($img);
 exit;
}

// http://localhost/141/yxtcms/pic.php?img=Uploads/2016-03-07/56dcf6ec76e8a.jpg!720x70.jpg

//$img=Uploads/2016-03-07/56dcf6ec76e8a.jpg!720x70.jpg
$img=$_GET['img'];


$explode1=explode('!', $img);

$imgurl=$explode1[0];//Uploads/2016-03-07/56dcf6ec76e8a.jpg
$imginfo=$explode1[1];//720x70.jpg
$hasurl="./".$imgurl;

if(file_exists($hasurl)){

$img=$_GET['img'];
$explode1=explode('!', $img);
$imgurl=$explode1[0];//Uploads/2016-03-07/56dcf6ec76e8a.jpg
$imginfo=$explode1[1];//720x70.jpg
$data1=pathinfo($imginfo);//720x70.jpg

//获得宽度个质量
$data2=explode('x',$data1['filename']);//720x70
$width=$data2[0];
$quality=$data2[1];

$path="./".$imgurl;
$newname=$img;


resizeImage($path,$width,$newname,$quality=75);

$info=getimagesize($newname);
header("content-type:".$info['mime']);
echo file_get_contents($img);
 exit;
}else{

	header("HTTP/1.0 404 Not Found");
	header("Status: 404 Not Found");
}





// http://localhost/141/yxtcms/Uploads/2015-11-18/564be44599944.jpg











 ?>

需要 获取当前的 的URL  地址

$url_this =  "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
echo $url_this;

http://www.blogjava.net/bluesky/archive/2005/12/26/25421.html

© 著作权归作者所有

共有 人打赏支持
上一篇: php错误
下一篇: 去除多余的点
o
粉丝 2
博文 89
码字总数 29764
作品 0
昆明
私信 提问
php求学路 “虚拟项目二”

时间慢慢向冬天迈进,我在兴趣小组里的时间也在一天天的积累中,这时候我迎来第一次像样的项目,就是在剩下的人中组织一次团体合作做一个bbs系统,主要分工:4个程序员,1个美工。 因为是团体...

路边拾草人
2011/05/28
0
0
不干程序这行,大家会做什么呢?

如果我不写程序,我会去开面店。我最拿手的招牌菜:爆炸面 。其次是做丸子。面的话,我会做:云吞面,热干面,酸辣粉,干拌面,车仔面。还有方便面!还有做鸡!做鸭自己不在行,因为鸭的焖比...

金拱门
2016/02/21
8.3K
58
时间治愈的,从来都是想改变的人

时间能治愈的,从来都是想改变的人。 这个题目我从早上看了第一眼之后就,中午便记不得了。然后我中午又看了一遍,晚上又想不起来了。然后刚刚我又看了一遍,隔十多分钟之后又想不起来了。说...

孙亖
2018/07/30
0
0
有没有人在deepin10.12编译安装成功MYSQL?

CENTOS 5.5,MYSQL5.1.55编译安装成功,DEEPIN10.12编译安装MYSQL就不行,configure的时候出错,错误信息有两条,具体记不清楚了,一个是in /home/ocera/mysql5-1-55什么的,另个那个记不得了. 但是...

月影
2011/03/29
526
4
用 struct 实现类似 swift 的枚举类型

swift的枚举类型非常方便,即可以赋值字符串又可以使用函数。 记得之前看到过一个objective-c下用struct实现的类似的东西,貌似是通过struct里面函数定义指针,然后通过函数return值来实现的...

独-奏
2014/09/24
167
1

没有更多内容

加载失败,请刷新页面

加载更多

jenkins 配置

1. ssh-keygen -t rsa 2. 配置 GitLab 用户 创建一个用户或选择一个已有用户,用来让 Jenkins 和 GitLab API 交互。这个用户将需要是全局的管理员或添加进每个组/工程,并作为成员。需要开发...

应如是
25分钟前
1
0
中台迷思

到处都在喊中台,到处都是中台,中台这个词在我看来已经被滥用了。 在有些人眼里:中台就是技术平台,像微服务开发框架、Devops平台、PaaS平台,容器云之类的,人们都叫它“技术中台”。 在有...

老道士
31分钟前
2
0
Linux命令参数解析

Linux命令参数 通过一个例子来理解什么是Linux命令参数。以Linux中常用的删除命令“rm”为例,输入“rm --help”可以看到如下信息,其中红色框内的就是命令参数。经常使用Linux对命令参数应该...

RongJinhui0
35分钟前
1
0
边缘节点服务ENS重磅升级 阿里云首次定义“边缘云计算”概念层层深入

摘要: 在这一横一纵之间,阿里云在2018年率先提供了基于运营商边缘节点和网络的弹性分布式算力资源平台,也就是边缘节点服务ENS,连接最后10公里的ENS可以帮助用户将计算、转发等业务下沉至...

阿里云云栖社区
39分钟前
2
0
阿里云 Aliplayer高级功能介绍(四):直播时移

基本介绍 时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址;对于常规的HLS直播而言,TS分片地址及相...

阿里云官方博客
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部