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

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

来源:url生成缩略图 浏览:1577次 时间: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

好玩的手游下载

猜你喜欢

推荐站点

  • 国厨盛宴国厨盛宴

    佛山市南海区嘉怡西餐厅(简称\"国厨盛宴\")是一家专注于珠三角地区的高端餐饮定制服务企业。在嘉怡西式餐饮为基础,整合了国力餐饮策划公司、国邦餐饮咨询公司、焰渝餐饮管理公司。于2016年3月正式更名为“广东国厨盛宴餐饮定制”, 公司出品全部来自香港、广东十年以上中西餐饮宴会实践经验丰富的业内专业星级大厨,国厨盛宴是融合了中西宴会外卖特色具一体,积累了多年的实践经验的一家公司。 国厨盛宴的餐房、现场执行及客户服务均由香港资深专业人士负责,拥有丰富的餐饮定制配餐服务管理经验及餐饮行饮服务团队,从客服、采购、厨业经营经验。 无论是大型商业活动(100-3000人)还是小型(20-100人)的私人宴请,无论您的活动是在室内、室外、办公室,还是在公园、体育场、展厅、发布中心、别墅、郊外,都能为您提供超五星级的专业餐饮服务。除了为您提供精致的外烩美食外卖,我们还可以根据您的需要,结合宴会活动的每一环节、流程,为您提供活动策划、会场布置、节目安排、花艺服务等增值服务,为您节省宝贵的时间。

    guochushengyan.com
  • 皇家馬車家纺官网皇家馬車家纺官网

    馬車源自华夏千年礼制,始于“天子驾六”的皇家威仪。馬车,是帝王仪仗,是身份象征,更是东方尊贵生活的传承载体。皇家馬车家纺,承中式皇家礼序,融东方典雅美学,以匠心织就尊贵、舒适、荣耀的中式睡眠美学,让每一户人家,皆藏皇家气度。 皇家馬车家纺品牌源之于承华夏皇家礼序,筑东方品质寝饰。自古以来皇家馬车无论从欧洲皇室到我们中国的华夏文明,车马为礼;皇家馬车,自古便是帝王专属仪仗,象征至高无上的身份、威仪与尊贵。自周代“天子驾六”定礼制,秦汉“金根车”彰皇权,唐宋“大辇”显威仪,明清“銮驾”集大成,皇家馬车,早已沉淀为东方文化中尊贵、典雅、荣耀、传承的核心符号。 皇家馬车家纺,根植中国千年皇家车马文化,1992年源自福建台资企业,已深耕中高端家纺34载。品牌以“传承中式皇家礼序,打造国人轻奢寝居”为初心,将皇家馬车所代表的礼制、尊贵、精工、传承,融入每一件床品的设计与织造。 品牌自创立以来,始终坚守品质为本,引进台湾先进纺织工艺与生产管理体系,严选优质长绒棉、桑蚕丝、天然纤维等高端原材料,全程标准化品控,面料细腻亲肤、健康环保。先后荣获2000年、2012年福建省著名商标荣誉称号,2006获ISO9001:2000质量管理体系认证企业,为产品的品质奠定了坚实基础。凭借过硬品质与深厚品牌底蕴,深受广大消费者信赖与认可,高峰时期全国17个省市均有 皇家馬車专卖店。 2025年由福州东盈家居科技有限公司全面接手操盘运营,焕新升级,生产基地从福建迁移到江苏南通家纺产业核心区,配备行业前沿设备。重塑品牌发展战略,打通线上线下全域渠道。线下设立福州晋安区喜盈门旗舰店,全国门店持续布局扩张。皇家馬车家纺秉持匠心初心,坚持高端品质、亲民定价,让万千家庭,都能用上高品质,皇室级的寝饰,享受舒适精致睡眠生活。 我们萃取中式皇家美学元素——龙凤呈祥、祥云瑞气、织金刺绣、典雅纹样,结合现代家纺工艺,严选高支长绒棉、桑蚕丝等高端原料,以台资精工标准,打造兼具东方贵气与现代舒适的中高端家纺。 从“福建省著名商标”到“家纺行业十大品牌”,皇家馬车家纺始终坚守“高贵不贵,匠心传承”,让千年皇家礼制,化作日常居家的尊贵体验;让每一户中国家庭,都能拥有属于自己的东方皇家睡眠礼遇。

    huangjiamache.mhwz.cn
  • 福州小程序开发福州小程序开发

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

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

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

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

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

    www.kejizhen.com

最新优秀网站