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


Posted in PHP onMay 17, 2015

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

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

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

<form method="post">
<input name="url" size="50" />
<input name="submit" type="submit" />
</form>
< ?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);
}
?>

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

PHP 相关文章推荐
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
php文件上传类完整实例
May 14 PHP
php原生数据库分页的代码实例
Feb 18 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
PHP生成json和xml类型接口数据格式
May 17 #PHP
php实现文本数据导入SQL SERVER
May 17 #PHP
php中PDO方式实现数据库的增删改查
May 17 #PHP
PHP图像处理类库及演示分享
May 17 #PHP
递归实现php数组转xml的代码分享
May 14 #PHP
php编写批量生成不重复的卡号密码代码
May 14 #PHP
php编写的抽奖程序中奖概率算法
May 14 #PHP
You might like
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
php计算税后工资的方法
2015/07/28 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
python实现梯度法 python最速下降法
2020/03/24 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
Python进行特征提取的示例代码
2020/10/15 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
后勤人员自我评价怎么写
2013/09/19 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
辞职信的写法
2015/02/27 职场文书
2016年元旦致辞
2015/08/01 职场文书
在Django中使用MQTT的方法
2021/05/10 Python