网站目录收录网站方式:1.人工手动审核。2.自助审核(你的网站在权重3、PR4以上,挂上本站友链->点击友链->自动审核通过。)
北京 天津 上海 广东 深圳 河北 河南 新疆 重庆 四川 贵州 湖南 湖北 云南 广西 宁夏 青海 甘肃 陕西
西藏 海南 山东 福建 安徽 浙江 吉林 山西 江西 江苏 辽宁 黑龙 内蒙 澳门 香港 台湾 日本 韩国 美国
当前位置:站长啦网站目录 » 新闻资讯 » 站长新闻 » 技术文档 » 文章详细 订阅RssFeed

php获取远程图片url生成缩略图的方法

来源:url生成缩略图 浏览:1322次 时间:2021-01-28
简介:php获取远程图片url生成缩略图的方法

php获取远程图片url生成缩略图的方法

getimg.php


<?php  
/** 
*
*函数:调整图片尺寸或生成缩略图 
*返回:True/False 
*参数:
*   $Image   需要调整的图片(含路径) 
*   $Dw=450  调整时最大宽度;缩略图时的绝对宽度 
*   $Dh=450  调整时最大高度;缩略图时的绝对高度 
*   $Type=1  1,调整尺寸; 2,生成缩略图 
*/ 
$phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png'); 


function compressImg($Image,$Dw,$Dh,$Type){  
    IF(!file_exists($Image)){  
        return false;  
    }  
    // 如果需要生成缩略图,则将原图拷贝一下重新给$Image赋值(生成缩略图操作)  
    // 当Type==1的时候,将不拷贝原图像文件,而是在原来的图像文件上重新生成缩小后的图像(调整尺寸操作)  
    IF($Type!=1){  
        copy($Image,str_replace(".","_x.",$Image));  
        $Image=str_replace(".","_x.",$Image);  
    }  
    // 取得文件的类型,根据不同的类型建立不同的对象  
    $ImgInfo=getimagesize($Image);  
    Switch($ImgInfo[2]){  
        case 1:  
            $Img =@imagecreatefromgif($Image);  
            break;  
        case 2:  
            $Img =@imagecreatefromjpeg($Image);  
            Break;  
        case 3:  
            $Img =@imagecreatefrompng($Image);  
            break;  
    }  
    // 如果对象没有创建成功,则说明非图片文件  
    IF(Empty($Img)){  
        // 如果是生成缩略图的时候出错,则需要删掉已经复制的文件  
        IF($Type!=1){  
            unlink($Image);  
        }  
        return false;  
    }  
    // 如果是执行调整尺寸操作则  
    IF($Type==1){  
        $w=ImagesX($Img);  
        $h=ImagesY($Img);  
        $width = $w;  
        $height = $h;  
        IF($width>$Dw){  
            $Par=$Dw/$width;  
            $width=$Dw;  
            $height=$height*$Par;  
            IF($height>$Dh){  
                $Par=$Dh/$height;  
                $height=$Dh;  
                $width=$width*$Par;  
            }  
        } ElseIF($height>$Dh) {  
            $Par=$Dh/$height;  
            $height=$Dh;  
            $width=$width*$Par;  
            IF($width>$Dw){  
                $Par=$Dw/$width;  
                $width=$Dw;  
                $height=$height*$Par;  
            }  
        } Else {  
            $width=$width;  
            $height=$height;  
        }  
        $nImg =ImageCreateTrueColor($width,$height);// 新建一个真彩色画布  
        ImageCopyReSampled($nImg,$Img,0,0,0,0,$width,$height,$w,$h);// 重采样拷贝部分图像并调整大小  
        ImageJpeg($nImg,$Image);// 以JPEG格式将图像输出到浏览器或文件  
        return true;  
    } Else {// 如果是执行生成缩略图操作则  
        $w=ImagesX($Img);  
        $h=ImagesY($Img);  
        $width = $w;  
        $height = $h;  
        $nImg =ImageCreateTrueColor($Dw,$Dh);  
        IF($h/$w>$Dh/$Dw){// 高比较大  
            $width=$Dw;  
            $height=$h*$Dw/$w;  
            $IntNH=$height-$Dh;  
            ImageCopyReSampled($nImg, $Img, 0, -$IntNH/1.8, 0, 0, $Dw, $height, $w, $h);  
        } Else {// 宽比较大  
            $height=$Dh;  
            $width=$w*$Dh/$h;  
            $IntNW=$width-$Dw;  
            ImageCopyReSampled($nImg, $Img,-$IntNW/1.8,0,0,0, $width, $Dh, $w, $h);  
        }  
        ImageJpeg($nImg,$Image);  
        return true;  
    }  
};  
  
/** 
 *根据url获取服务器上的图片 
 *$url服务器上图片路径 $filename文件名 
*/  
function GrabImage($url,$filename="") {  
    if($url=="") return false;  
    if($filename=="") {  
        $ext=strrchr($url,".");  
        if($ext!=".gif" && $ext!=".jpg" && $ext!=".png")  
            return false;  
        $filename=date("YmdHis").$ext;  
    }  
    ob_start();   
    readfile($url);   
    $img = ob_get_contents();   
    ob_end_clean();  
    $size = strlen($img);   
  
    $fp2=@fopen($filename, "a");  
    fwrite($fp2,$img);  
    fclose($fp2);  
    return $filename;  
}  
?>
调用:demo.php

<?php
require_once( 'getimg.php' );


$imgPath = 'http://xxx.com/aa.jpg';//远程URL 地址  
$tempPath = 'adsdf.jpg';//保存图片路径  
  
if(is_file($tempPath)){  
    unlink($tempPath);  
}  
  
$bigImg=GrabImage($imgPath, $tempPath); 
var_dump(compressImg($bigImg,100,100,1));
 ?>


0

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:https://top.cnzzla.com/artinfo/69115.html

好玩的手游下载

猜你喜欢

推荐站点

  • 福州小程序开发福州小程序开发

    福州好小蚁科技提供专业的微信小程序开发、软件定制、手机APP开发、网站开发等高端定制外包服务,价格美丽,服务周到.一对一项目对接,不满意退全款!预约电话:13107632710 胡小春!福州好小蚁科技有限公司是福建福州网站app等技术开发优秀网络公司。

    www.fzant.com
  • 世界时间网世界时间网

    世界时间网为您提供世界各地精准时间,北京时间校准器,标准时间,世界各地时间与北京时间对比,时间换算等,希望对您有所帮助。

    top.cnzzla.com/time
  • 科技镇科技镇

    科技镇 | 关注科技、娱乐、人文、生活!

    www.kejizhen.com
  • 心动网址导航心动网址导航

    心动网址导航精选了国内国外著名的网站、好玩的、好看的、有趣的国内国外网站以及实用的、优秀的国内国外网站,包括国外视频、国外购物、国外交友、国外新闻等多种类型 同时提供精品行业分类目录提交,让用户全方位了解国内国外互联网动态!

    xd00.com
  • 门户网址-优秀网站导航门户网址-优秀网站导航

    门户网址-优秀网站导航,精选网址导航,免费分类目录提交,实用酷站大全。

    top.mhwz.cn

最新优秀网站