PHP远程下载文件到本地

 Coding
Likt
  355

本篇文章封装了一个用于在服务器端下载文件的PHP函数 可适用于在服务器端下载各类文件,方便传输,也可用于远程拉取文件本地化。

function httpcopy($url,$file="",$timeout=120){
    $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(@file_put_contents($file,$temp)&&!curl_error($ch)){
                return    $file;
            }else{
                return    false;
            }
    }else{
        $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;
        }
    }
}
根据《互联网跟帖评论服务管理规定》,您需要登录后才能进行留言,您的相关信息由畅言云评进行采集,感谢您的配合。