function load_remote_file($completeUrl, $newFileName, $timeOut=180) {
// Check remote socket firstly
if( !is_socket_good($completeUrl) )
return(false);
$out = fopen($newFileName, 'wb');
if ($out == FALSE){
Dmess( "ERROR: can not open local file.");
return(false);
}
$svr= parse_url($completeUrl);
$curl_target_url = $svr['scheme']."://".$svr['host'];
if( isset($svr['port']) && strlen($svr['port'])>0 )
$curl_target_url .= ":".$svr['port'];
if( isset($svr['path']) && strlen($svr['path'])>0 )
$curl_target_url .= $svr['path'];
if( isset($svr['query']) && strlen($svr['query'])>0 )
$curl_target_url .= "?".$svr['query'];
if( isset($svr['fragment']) && strlen($svr['fragment'])>0 )
$curl_target_url .= "#".$svr['fragment'];
$timeout = $timeOut;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $curl_target_url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FILE, $out);
//curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if( isset($svr['user']) && strlen($svr['user'])>0 && strlen($svr['pass'])>0 )
{
curl_setopt ($ch, CURLOPT_USERPWD, $svr['user'].":".$svr['pass']);
}
curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt ($ch, CURLOPT_FAILONERROR, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, $timeout);
curl_exec ($ch);
if (curl_errno($ch))
{
echo __FUNCTION__.":: Target url->".$curl_target_url.",CURL got error, error code->". curl_error($ch);
}
curl_close ($ch);
return true;
}