curl error

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
maddali
Forum Newbie
Posts: 5
Joined: Fri Feb 12, 2010 8:44 am

curl error

Post by maddali »

This snippet uses cURL to get a graphic and display a thumbnail image on the page without saving it.

<?php

$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);
}
?>


However,when I tried to ececute it from localhost with the following command...
http://localhost/imageget.php?url=http: ... ippets.jpg

I get an error something like this...

Fatal error: Call to undefined function curl_init() in C:\wamp\www\imageget.php on line 12

Could somebody help me out with this....
User avatar
flying_circus
Forum Regular
Posts: 732
Joined: Wed Mar 05, 2008 10:23 pm
Location: Sunriver, OR

Re: curl error

Post by flying_circus »

maddali wrote:Fatal error: Call to undefined function curl_init() in C:\wamp\www\imageget.php on line 12

Could somebody help me out with this....
It doesnt look like you have curl installed.

check phpinfo() to see if curl is loaded.
maddali
Forum Newbie
Posts: 5
Joined: Fri Feb 12, 2010 8:44 am

Re: curl error

Post by maddali »

I've modified the php.ini file and now I get a new problem which displays the url I've given in the adrress bar...any suggestions??
maddali
Forum Newbie
Posts: 5
Joined: Fri Feb 12, 2010 8:44 am

Re: curl error

Post by maddali »

I was successful to some extent with this code...When I tried executing the same code on Mac OS...it shows some broken image thumbnail without displaying the image in the url.verifying the log file it shows an image has been retrieved and sent to the server of the original file size.The same happens when I try to run that on IE and chrome but when executed on firefox it shows a blank white display with no broken thumbnail image....Is there anything that can be done with browser or any error in the code.

any help would be greatly appreciated.

Maddali
User avatar
Darhazer
DevNet Resident
Posts: 1011
Joined: Thu May 14, 2009 3:00 pm
Location: HellCity, Bulgaria

Re: curl error

Post by Darhazer »

comment the content-type header, and refresh the page
probably there is a notice/warning that breaks the image
Post Reply