文档章节

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

o
 oneboi
发布于 2016/11/17 16:37
字数 382
阅读 1
收藏 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

© 著作权归作者所有

共有 人打赏支持
o
粉丝 2
博文 89
码字总数 29764
作品 0
昆明
有关int 和 Object 转换问题(oracle 10 默认JDK 1.4.2)

前天使用rhino 和js做了一个oracle的function,由于客户使用的是oracle 10,所以只支持jdk1.4.2的,其实很简单的,就是让oracle的函数支持使用javascript编写,实现过程较为简单,就是在传递参...

idoz
2013/05/29
0
0
php求学路 “虚拟项目二”

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

路边拾草人
2011/05/28
0
0
时间治愈的,从来都是想改变的人

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

孙亖
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
484
4
只有程序员才有的12个习惯, 占了一半以上才是真程序员!

程序员的日常通常是写代码,看别人写的代码,改别人写的代码。 当一个程序员是什么样的一种体验?领着高薪、生活滋润这是自然的。 程序员是比较富有的一个群体,却很少炫富。 程序员的话不多,...

你的社交帐号昵
06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Synchronize和ReentrantLock区别

目录介绍 1.Synchronize和ReentrantLock区别 1.1 相似点 1.2 区别 1.3 什么是线程安全问题?如何理解 1.4 线程安全需要保证几个基本特性 2.Synchronize在编译时如何实现锁机制 3.ReentrantL...

潇湘剑雨
11分钟前
0
0
ModelMap的用法

ModelMap的用法 ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用...

DemonsI
20分钟前
0
0
Hibernate环境搭建过程

B站Hibernate教学视频原网址 下边代码是照着视频一步步写出来的。由于没有视频中老师所写的文件。所以xml文件中的dtd约束是直接在网上搜到复制来的。 和视频中一样,用的MySQL数据库。数据库...

BG2KNT
23分钟前
0
0
Fragment之软件主页面制作

Fragment是一种Android 3.0后引入的API ,它出现的初衷是为了适应平板电脑的大屏幕,手机界面小巧可放下的内容有限,而平板宽阔可以放下手机上的两三个界面一起合起来展示,多个Fragment可以组...

鱼想吃肉
29分钟前
0
0
关于网站恶意注册会员

网站发生恶意注册会员,有图形验证码 ,和短信验证码 但是还是有大量恶意注册: session 和 cookie都是可以随便伪造的。 验证码有打码平台。 短信验证有短信验证平台。 IP限制有虚拟拨号/VP...

妖尾巴
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部