echo httpcopy("http://www.baidu.com/img/baidu_sylogo1.gif");
function httpcopy($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(!curl_error($ch)){
$dest = fopen($file, 'wb');
fwrite($dest, $temp);
fclose($dest);
return $file;
}else{
return false;
}
}elseif(function_exists('copy')) {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@copy($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}else{
$temp=fopen($url,'rb');
if($temp){
$newf=fopen($file,'wb');
if($newf){
while(!feof($temp)){
fwrite($newf,fread($temp,1024*8),1024*8);
}
}
if($temp){
fclose($temp);
}
if($newf){
fclose($newf);
}
return $file;
}
}
}