Possible Duplicate:
save image from php url using php
I want to have PHP code for following.
Suppose I have one image URL, for example, http://www.google.co.in/intl/en_com/images/srpr/logo1w.png
If I run one script, this image will be copied and put on my server within folder having 777 rights.
Is it possible? If yea, can you please give direction for same?
Thanks,
Ian
The copy() function in PHP is used to copy a file from source to target or destination directory. It makes a copy of the source file to the destination file and if the destination file already exists, it gets overwritten. The copy() function returns true on success and false on failure.
Right-click on the image and select Properties. Find and highlight the URL address to select it. Right-click and select Copy or press Ctrl + C to copy the image. Paste the address into a new email, text editor, or new browser window.
Two ways, if you're using PHP5 (or higher)
copy('http://www.google.co.in/intl/en_com/images/srpr/logo1w.png', '/tmp/file.png');
If not, use file_get_contents
//Get the file $content = file_get_contents("http://www.google.co.in/intl/en_com/images/srpr/logo1w.png"); //Store in the filesystem. $fp = fopen("/location/to/save/image.png", "w"); fwrite($fp, $content); fclose($fp);
From this SO post
From Copy images from url to server, delete all images after
function getimg($url) { $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg'; $headers[] = 'Connection: Keep-Alive'; $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; $user_agent = 'php'; $process = curl_init($url); curl_setopt($process, CURLOPT_HTTPHEADER, $headers); curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_USERAGENT, $user_agent); //check here curl_setopt($process, CURLOPT_TIMEOUT, 30); curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1); $return = curl_exec($process); curl_close($process); return $return; } $imgurl = 'http://www.foodtest.ru/images/big_img/sausage_3.jpg'; $imagename= basename($imgurl); if(file_exists('./tmp/'.$imagename)){continue;} $image = getimg($imgurl); file_put_contents('tmp/'.$imagename,$image);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With