Save Images Using cURL

this script saves the image from a url to the folder were this script is saved, how can i make this code save images into specific folder such as “/image/poster_image/”


<?php
$img[]='http://images.rottentomatoescdn.com/images/redesign/poster_default.gif';

foreach($img as $i){
echo $i;
    save_image($i);
    // if(getimagesize(basename($i))){
        // echo '<h3 style="color: green;">Image ' . basename($i) . ' Downloaded OK</h3>';
    // }else{
        // echo '<h3 style="color: red;">Image ' . basename($i) . ' Download Failed</h3>';
    // }
}

//Alternative Image Saving Using cURL seeing as allow_url_fopen is disabled - bummer
function save_image($img,$fullpath='basename'){
    if($fullpath=='basename'){
        $fullpath = basename($img);
    }
    $ch = curl_init ($img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $rawdata=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($fullpath)){
        unlink($fullpath);
    }
    $fp = fopen($fullpath,'x');
    fwrite($fp, $rawdata);
    fclose($fp);
}
?>

pass it a second parameter containing the location you want to save it in.

Like StarLion said, the script is using $fullpath as the path for the file, when it’s not set by you it’s set to the basename.

So instead of:

save_image($i);

use

save_image($i,‘image/poster_image/’);