Copy images from URL to server, delete all images after

I have an affiliate link with a product image

http://www.myaffiliate.com/products/product.jpg 

I want to copy the view to my website, in a folder called let say products. He participated in a joint sherver, not my computer. I think php copy () is not working, I tried it well, and I think my hosts do not support this method. How can i do this? Then I need a php command to delete all images from the product folder - I will do this with cronjob.

 <?php $table = 'cron'; $feed = 'myfeed'; $xml = simplexml_load_file($feed); mysql_query("TRUNCATE TABLE ".$table."", $dbh1); mysql_query("TRUNCATE TABLE ".$table."", $dbh2); 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, $useragent); 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; } foreach( $xml->performerinfo as $performerinfo ) { $performerid = $performerinfo->performerid; $category = $performerinfo->category; $subcategory = $performerinfo->subcategory; $bio = $performerinfo->bio; $turnons = $performerinfo->turnons; $willing = $performerinfo->willingness; $willingness = str_replace(',', ', ', $willing); $age = $performerinfo->age; $build = $performerinfo->build; $height = $performerinfo->height; $weight = $performerinfo->weight; $breastsize = $performerinfo->breastsize; $haircolor = $performerinfo->haircolor; $hairlength = $performerinfo->hairlength; $eyecolor = $performerinfo->eyecolor; $ethnicity = $performerinfo->ethnicity; $sexpref = $performerinfo->sexpref; $pic0 = $performerinfo->picture[0]; $pic1 = $performerinfo->picture[1]; $pic2 = $performerinfo->picture[2]; $pic3 = $performerinfo->picture[3]; $pic4 = $performerinfo->picture[4]; $test = $performerinfo->picture[0]; $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); } //baracuda reloaded mysql_query("TRUNCATE TABLE reloaded", $dbh1); mysql_query("TRUNCATE TABLE reloaded", $dbh2); mysql_query("INSERT INTO reloaded SELECT * FROM ".$table."", $dbh1); mysql_query("INSERT INTO reloaded SELECT * FROM ".$table."", $dbh2); ?> 
0
php curl
May 14 '11 at 13:47
source share
1 answer

use file_get_contents or cURL in a loop

  <?php //loop with a list of images loop{ $imgurl = 'url to image'; $imagename= basename($imgurl); if(file_exists('./images_folder/'.$imagename)){continue;} $image = file_get_contents($imgurl); file_put_contents('images_folder/'.$imagename,$image); } ?> or cURL <?php //loop this loop{ $imgurl = 'url to image'; $imagename= basename($imgurl); if(file_exists('./images_folder/'.$imagename)){continue;} $image = getimg($imgurl); file_put_contents('images_folder/'.$imagename,$image); } ?> <?php //cURL function (outside of loop) to get img 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, $useragent); 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; } ?> 

in the file on your server that you want to delete, put it in it and name it in the END of your loops after you got all the images

 <?php function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); } } reset($objects); rmdir($dir); mkdir($dir); } } rrmrir('./products'); ?> 
+1
May 14 '11 at 14:03
source share



All Articles