PHP实现远程下载文件到本地
代码很简单就不多废话了,直接奉上:
<?php
echohttpcopy("http://www.baidu.com/img/baidu_sylogo1.gif");
functionhttpcopy($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(@file_put_contents($file,$temp)&&!curl_error($ch)){
return$file;
}else{
returnfalse;
}
}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{
returnfalse;
}
}
}
?>
再来个远程下载文件到服务器
<formmethod="post">
<inputname="url"size="50"/>
<inputname="submit"type="submit"/>
</form>
<?php
//maximumexecutiontimeinseconds
set_time_limit(24*60*60);
if(!isset($_POST['submit']))die();
//foldertosavedownloadedfilesto.mustendwithslash
$destination_folder='temp/';
$url=$_POST['url'];
$newfname=$destination_folder.basename($url);
$file=fopen($url,"rb");
if($file){
$newf=fopen($newfname,"wb");
if($newf)
while(!feof($file)){
fwrite($newf,fread($file,1024*8),1024*8);
}
}
if($file){
fclose($file);
}
if($newf){
fclose($newf);
}
?>
以上所述就是本文的全部内容了,希望大家能够喜欢。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短