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 Xdebug 调试扩展的安装与使用.
Mar 13 PHP
PHP 第一节 php简介
Apr 28 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
Yii2语言国际化的配置教程
Aug 19 PHP
PHP反射实际应用示例
Apr 03 PHP
基于laravel-admin 后台 列表标签背景的使用方法
Oct 03 PHP
php array_map()函数实例用法
Mar 03 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的QRcode类与大家分享
2011/11/13 PHP
第四章 php数学运算
2011/12/30 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
js 上传图片预览问题
2010/12/06 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
python人人网登录应用实例
2014/09/26 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
关于python的list相关知识(推荐)
2017/08/30 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
企业统计员岗位职责
2013/12/13 职场文书
精彩的英文自荐信
2014/01/30 职场文书
财经学院自荐信范文
2014/02/02 职场文书
小学校本培训方案
2014/06/06 职场文书
村安全生产责任书
2014/08/25 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2014年护理部工作总结
2014/11/14 职场文书
支行行长岗位职责
2015/02/15 职场文书
预备党员转正意见
2015/06/01 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书