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中通过smtp发邮件的类,测试通过
Jan 22 PHP
php 字符转义 注意事项
May 27 PHP
用PHP将网址字符串转换成超链接(网址或email)
May 25 PHP
PHP多线程抓取网页实现代码
Jul 22 PHP
PHP随机数生成代码与使用实例分析
Apr 08 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
如何在smarty中增加类似foreach的功能自动加载数据
Jun 26 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
Aug 31 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP截取中文字符串的问题
2006/07/12 PHP
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
python更改已存在excel文件的方法
2018/05/03 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
详解python中sort排序使用
2019/03/23 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
Python实现快速排序的方法详解
2019/10/25 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
使用html5制作loading图的示例
2014/04/14 HTML / CSS
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
如何撰写岗位职责
2014/02/01 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
市场督导岗位职责
2015/04/10 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书