加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

从一个URL获取图片然后展示的PHP代码

发布时间:2020-05-25 06:57:12 所属栏目:PHP 来源:互联网
导读:从一个URL获取图片然后展示的PHP代码

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

这个代码使用 cURL来取得一张图片,然后在页面上展示它的缩略图。但不保存。
 <?php
//$url = "http://share.meebo.com/content/katy_perry/wallpapers/3.jpg";
$url = $_GET['url'];

$url = str_replace("http:/","http://",$url);

$allowed = array('jpg','gif','png');
$pos = strrpos($_GET['url'],".");
$str = substr($_GET['url'],($pos + 1));

$ch = curl_init();
$timeout = 0;
curl_setopt ($ch,CURLOPT_URL,$url);
curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,$timeout);

// Getting binary data
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,1);

$image = curl_exec($ch);
curl_close($ch);
// output to browser
$im = @imagecreatefromstring($image);

$tw = @imagesx($im);
if(!$tw){
    // Font directory + font name
    $font = '../../fonts/Austrise.ttf';
    // Size of the font
    $fontSize = 18;
    // Height of the image
    $height = 32;
    // Width of the image
    $width = 250;
    // Text
    $str = 'Couldn't get image.';
    $img_handle = imagecreate ($width,$height) or die ("Cannot Create image");
    // Set the Background Color RGB
    $backColor = imagecolorallocate($img_handle,255,255);
    // Set the Text Color RGB
    $txtColor = imagecolorallocate($img_handle,20,92,137); 
    $textbox = imagettfbbox($fontSize,$font,$str) or die('Error in imagettfbbox function');
    $x = ($width - $textbox[4])/2;
    $y = ($height - $textbox[5])/2;
    imagettftext($img_handle,$fontSize,$x,$y,$txtColor,$str) or die('Error in imagettftext function');
    header('Content-Type: image/jpeg');
    imagejpeg($img_handle,NULL,100);
    imagedestroy($img_handle); 
}else{
    if($str == 'jpg' || $str == 'jpeg')
        header("Content-type: image/jpeg");
    if($str == 'gif')
        header("Content-type: image/gif");
    if($str == 'png')
        header("Content-type: image/png");
    $th = imagesy($im);
    $thumbWidth = 200;
    if($tw <= $thumbWidth){
        $thumbWidth = $tw;
    }
    $thumbHeight = $th * ($thumbWidth / $tw);
    $thumbImg = imagecreatetruecolor($thumbWidth,$thumbHeight);
    if($str == 'gif'){
        $colorTransparent = imagecolortransparent($im);
        imagefill($thumbImg,$colorTransparent);
        imagecolortransparent($thumbImg,$colorTransparent);
    }
    if($str == 'png'){
        imagealphablending($thumbImg,false);
        imagesavealpha($thumbImg,true);
        $transparent = imagecolorallocatealpha($thumbImg,127);
        imagefilledrectangle($thumbImg,$thumbWidth,$thumbHeight,$transparent);
    }
    imagecopyresampled($thumbImg,$im,$tw,$th);


    if($str == 'jpg' || $str == 'jpeg'){
        imagejpeg($thumbImg,100);
    }
    if($str == 'gif'){
        imagegif($thumbImg);
    }
    if($str == 'png'){
        imagealphablending($thumbImg,TRUE);
        imagepng($thumbImg,9,PNG_ALL_FILTERS);
    }
        
    imagedestroy($thumbImg);
}
?> 

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读