国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

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

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

我要评论 2009/09/14 11:55:39 来源:国语自产精品视频在线看 编辑:Downcc资源站 [ ] 评论:0 点击:520次

本文主要介绍【yào jiè shào】如何用📜php程序实🖋现将远【xiàn jiāng yuǎn】程网络👓文件下【wén jiàn xià】🥎载到自己的主【jǐ de zhǔ】✊机(服务器、虚拟主【xū nǐ zhǔ】👂机)上,当然也提供asp、asp.net的源码给大家参考【cān kǎo】.

最近让🚵 Lc. 下载【xià zǎi】💖《汪洋中的一条🈸船》这部感人的励志电视剧【jù】,为了分【wéi le fèn】💡享方便【xiǎng fāng biàn】🏻,于是我提供一个【gè】Godaddy的免费FTP.

考虑到稳定性【wěn dìng xìng】🍟和专一性,我想重🚠新开启一个【yī gè】godaddy的免费【de miǎn fèi】空间🍑,但是此时已经【shí yǐ jīng】上传了【shàng chuán le】两集,一共是【yī gòng shì】🧥400多兆.怎么办🌔呢🌴?

于是乎我想起了之前【le zhī qián】😃转移空【zhuǎn yí kōng】间时用到的一📚个🧡php文件,他可以【tā kě yǐ】🌏下载远程网络【chéng wǎng luò】文件到👣服务器【fú wù qì】上【shàng】,也就是只要是🔎可以下【kě yǐ xià】载的url,就可以转移到📂新的服务器【fú wù qì】上【shàng】.

废话不☕多说,直接亮出将远程网络【chéng wǎng luò】🐖文件下【wén jiàn xià】🍢载到服【zǎi dào fú】务器的php源码(测试通【cè shì tōng】过,很好很🚢强大).

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

当然还【dāng rán hái】需要展💧示下asp版本的【bǎn běn de】🐚源码(未测试)

< %
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版本的📌源码【yuán mǎ】🐳(未测试【wèi cè shì】)

   using   System;  
  using   System.Net;  
  using   System.IO;  
 
  class   DownloadFile;  
      {  
        static   void   Main(string[]   args)  
            {  
                //你的【nǐ de】♊远程文件【jiàn】🐊  
                string   siteURL="http://www.abc.com/xxx.rar";  
                //下载到本地的♊路径及😱文件名【wén jiàn míng】🛺  
                string   fileName="c:\\xxx.rar";  
                //实例化一个【yī gè】WebClient  
                WebClient   client=new   WebClient();  
                //调用WebClient的♊DownloadFile方法  
                client.DownloadFile(siteURL,fileName);  
                }  
        }

注意事项:

1.相关的【xiàng guān de】🤷目录可【mù lù kě】能需要建立【jiàn lì】,具体请看源码🥗.比如🎫temp/、down/.

2.其中👼php版本的【bǎn běn de】源码是支持自【zhī chí zì】定义🍮url的【de】,但【dàn】asp、asp.net版本的【bǎn běn de】并没有🏨提供自🍀定义🍮.

3.在拷贝🌂大文件【dà wén jiàn】时,国内估【guó nèi gū】计支持【jì zhī chí】欠佳.因为考虑到程【lǜ dào chéng】📟序的超时时间,但在国🙌外支持很好🤺.

比如Blinux将一个近300M的文件【de wén jiàn】🌧转移到另一个【lìng yī gè】🍅服务器👨上耗费🐮时间是【shí jiān shì】28秒.这是国【zhè shì guó】内无法想象的.

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

关键词:php,服务器

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

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