加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现远程下载文件到本地

发布时间:2020-12-12 20:53:33 所属栏目:PHP教程 来源:网络整理
导读:代码很简单就不多废话了,直接奉上: 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_re

代码很简单就不多废话了,直接奉上:

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(@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;
}
}
}
?>

再来个远程下载文件到服务器

< ?php // maximum execution time in seconds set_time_limit (24 * 60 * 60); if (!isset($_POST['submit'])) die(); // folder to save downloaded files to. must end with slash $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);
}
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读