Nicholas Cheek

LITTLE ROCK WEB DEVELOPER

<?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, 255); 
    // Set the Text Color RGB 
    $txtColor = imagecolorallocate($img_handle, 20, 92, 137);  
    $textbox = imagettfbbox($fontSize, 0, $font, $str) or die('Error in imagettfbbox function'); 
    $x = ($width - $textbox[4])/2; 
    $y = ($height - $textbox[5])/2; 
    imagettftext($img_handle, $fontSize, 0, $x, $y, $txtColor, $font , $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, 0, 0, $colorTransparent); 
        imagecolortransparent($thumbImg, $colorTransparent); 
    } 
    if($str == 'png'){ 
        imagealphablending($thumbImg, false); 
        imagesavealpha($thumbImg,true); 
        $transparent = imagecolorallocatealpha($thumbImg, 255, 255, 255, 127); 
        imagefilledrectangle($thumbImg, 0, 0, $thumbWidth, $thumbHeight, $transparent); 
    } 
    imagecopyresampled($thumbImg, $im, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $tw, $th); 


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

//usage: displayImg.php?url=http://phpsnips.com/images/phpsnippets.jpg
//or in a tag: <img src="displayImg.php?url=http://phpsnips.com/images/phpsnippets.jpg" />
?>

LITTLE ROCK WEB DEVELOPER

Living the dream.

nick@nicholascheek.com