View Single Post
Old 05-09-2008, 10:42 PM   #1 (permalink)
EyeDentify
The Contributor
 
EyeDentify's Avatar
 
Join Date: Nov 2007
Location: Sweden
Posts: 92
Thanks: 11
EyeDentify is on a distinguished road
Default Kidnapping files via URLs with cURL :)

Hello there :)

I´m playing around with cURL to learn some new things.

Anyway i just wanted to share a simple code snippet i came up with when playing around. Nothing revolutionary but handy.

I´t will ofcourse need optimization to fitt your individual needs.
But in my case i was looking for a way to "download" image files to my server and store them there as files.

And i could not use URL wrapers with the conventional ways because of secrity measures by my webhost. So i thought why not try to use cURL and to my suprise the code worked. And this code is just barebone.

You are welcome to leave some tips on improvement on this code.

Here goes nothing:
PHP Code:
<?PHP
// Set Target URL
$ch curl_init('http://www.talkphp.com/images/talkphp/talkphp_logo.jpg');

// Set cURL options

curl_setopt($chCURLOPT_FRESH_CONNECT1);
curl_setopt($chCURLOPT_FORBID_REUSE1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);

// Change to TRUE for BINARY transfer
curl_setopt($chCURLOPT_BINARYTRANSFER1);

// in $result is our string with the return data
// we also execute the cURL
$result curl_exec($ch); 

curl_close($ch); // Closing connection

// create a file if note present for read/write
$handle fopen('random_img.jpg''w+');

// save data to a file on server
fwrite($handle$result);

// close the file
fclose($handle);

// see if the file works ?
echo('<IMG SRC="random_img.jpg" />');
?>
Remember my webhost does currently not use PHP5 so i could not use any of thoose CURLOPT_xxx options.

Should one use the BINARY option set to TRUE if your retrieving text files like HTML, PHP, XML and so on ?

Use my code improve it, or whatever you like :)

Good Luck!

/EyeDentify
__________________
Of course the whole point of a doomsday machine, would have been lost if you keep it a secret.
EyeDentify is offline  
Reply With Quote