• 青草久久久国产线免观_国产成人精品无码一区二区蜜柚_国产亚洲欧美在线观看三区_亚洲乱亚洲乱妇50p

    绿色资源网:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

    绿色资源网

    技术教程
    您的位置:首页网络编程PHP编程 → 用php实现远程网络文件下载到服务器

    用php实现远程网络文件下载到服务器

    我要评论 2009/09/14 11:55:39 来源:绿色资源网 编辑:Downcc资源站 [ ] 评论:0 点击:520次

    本文主要介绍如何用php程序实现将远程网络文件下载到自己的主机(服务器、虚拟主机)上,当然也提供asp、asp.net的源码给大家参考.

    最近让 Lc. 下载《汪洋中的一条船》这部感人的励志电视剧,为了分享方便,于是我提供一个Godaddy的免费FTP.

    考虑到稳定性和专一性,我想重新开启一个godaddy的免费空间,但是此时已经上传了两集,一共是400多兆.怎么办呢?

    于是乎我想起了之前转移空间时用到的一个php文件,他可以下载远程网络文件到服务器上,也就是只要是可以下载的url,就可以转移到新的服务器上.

    废话不多说,直接亮出将远程网络文件下载到服务器的php源码(测试通过,很好很强大).

     <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);
    }
    ?>

    当然还需要展示下asp版本的源码(未测试)

    < %
    function   downfilea(d_target,   s_target)
    On   Error   Resume   Next  
        dim   myhttp,   objstream
        set   myhttp   =   server.createobject( "MSXML2.XMLHTTP ")
        myhttp.open   "GET ",   d_target,   false
        myhttp.send()
        set   objstream   =   Server.CreateObject( "adodb.stream ")  
        objstream.Type   =   1  
        objstream.Mode   =   3  
        objstream.Open
        objstream.Write   myhttp.responseBody
        objstream.SaveToFile   s_target,   2
        if   err.number   <>   0   then   err.Clear
    end   function
     
    downfilea   "http://www.abc.com/xxx.rar ",   Server.MapPath( "down/xxx.rar ")
    Response.write   "ok "
    %>

    还有asp.net版本的源码(未测试)

       using   System;  
      using   System.Net;  
      using   System.IO;  
     
      class   DownloadFile;  
          {  
            static   void   Main(string[]   args)  
                {  
                    //你的远程文件  
                    string   siteURL="http://www.abc.com/xxx.rar";  
                    //下载到本地的路径及文件名  
                    string   fileName="c:\\xxx.rar";  
                    //实例化一个WebClient  
                    WebClient   client=new   WebClient();  
                    //调用WebClient的DownloadFile方法  
                    client.DownloadFile(siteURL,fileName);  
                    }  
            }

    注意事项:

    1.相关的目录可能需要建立,具体请看源码.比如temp/、down/.

    2.其中php版本的源码是支持自定义url的,但asp、asp.net版本的并没有提供自定义.

    3.在拷贝大文件时,国内估计支持欠佳.因为考虑到程序的超时时间,但在国外支持很好.

    比如Blinux将一个近300M的文件转移到另一个服务器上耗费时间是28秒.这是国内无法想象的.

    最后希望大家反馈下使用效果.

    关键词:php,服务器

    阅读本文后您有什么感想? 已有 人给出评价!

    • 1 欢迎喜欢
    • 2 白痴
    • 1 拜托
    • 1 哇
    • 1 加油
    • 1 鄙视