逍遥于天地之间,混迹于凡世之中 注册 | 登陆
浏览模式: 标准 | 列表2010年07月14日的文章

PHP远程下载文件到所在服务器

以下代码测试通过,使用方法简述

1、比如远程网络上有个文件 http://www.baidu.com/abc.zip

2、你的网站是 http://www.78300.cn

3、上传本代码程序文件到网站目录 访问地址是 http://www.78300.cn/down.php

4、在页面里的输入框中输入 http://www.baidu.com/abc.zip 提交即可

 5、下载速度一般来说比较快,大小文件也没多少限制问题。

 

PHP代码
  1. <form method="post">   
  2. <?php   
  3. // maximum execution time in seconds   
  4. set_time_limit (24 * 60 * 60);   
  5. echo "<input name=\"url\" size=\"1000\" value=\"".$_POST['url']."\" />";   
  6. echo "<title>".$_POST['url']."</title>";   
  7. ?>   
  8. <br><input name="submit" type="submit" value="开始下载" />   
  9. </form>   
  10.   
  11. 程序功能,远程下载文件到本服务器的temp目录中,测试通过最大120M文件没问题。<br>   
  12. 记得在服务器上新建个TEMP目录   
  13.   
  14. <?php   
  15. // maximum execution time in seconds   
  16. set_time_limit (24 * 60 * 60);   
  17. if (!isset($_POST['submit'])) die();   
  18. // folder to save downloaded files to. must end with slash   
  19. $destination_folder = 'temp/';   
  20.   
  21. $url = $_POST['url'];   
  22.   
  23. $newfname = $destination_folder . basename($url);   
  24. $file = fopen ($url"rb");   
  25. if ($file) {   
  26. $newf = fopen ($newfname"wb");   
  27. if ($newf)   
  28. while(!feof($file)) {   
  29. fwrite($newffread($file, 1024 * 8 ), 1024 * 8 );   
  30. echo "1";   
  31. }   
  32. }   
  33. if ($file) {   
  34. fclose($file);   
  35. }   
  36. if ($newf) {   
  37. fclose($newf);   
  38. }   
  39. ?>