返回列表 回复 发帖

[网络] PHP远程下载文件到所在服务器[源码]

以下代码测试通过,使用方法简述
1、比如远程网络上有个文件  http://www.baidu.com/abc.zip
2、你的网站是 http://www.hlwh.net
3、上传本代码程序文件到网站目录 访问地址是 http://www.hlwh.net/down.php
4、在页面里的输入框中输入  http://www.baidu.com/abc.zip 提交即可
5、下载速度有些慢,我这里测试每秒100-200K之间,目前测试通过下载120M大小文件没问题。
  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. 程序功能,远程下载文件到本服务器的temp目录中,测试通过最大120M文件没问题。<br>
  11. 记得在服务器上新建个TEMP目录

  12. <?php
  13. // maximum execution time in seconds
  14. set_time_limit (24 * 60 * 60);
  15. if (!isset($_POST['submit'])) die();
  16. // folder to save downloaded files to. must end with slash
  17. $destination_folder = 'temp/';

  18. $url = $_POST['url'];

  19. $newfname = $destination_folder . basename($url);
  20. $file = fopen ($url, "rb");
  21. if ($file) {
  22. $newf = fopen ($newfname, "wb");
  23. if ($newf)
  24. while(!feof($file)) {
  25. fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
  26. echo "1";
  27. }
  28. }
  29. if ($file) {
  30. fclose($file);
  31. }
  32. if ($newf) {
  33. fclose($newf);
  34. }
  35. ?>
复制代码
返回列表