haowenq 发表于 2011 年 7 月 16 日 20:42:20

free.fr上传大文件方法

用fsockopen来远程下载文件,虽然会500错误,但是不会超时,文件会一直下载完成为止!
测试代码如下:<?php
/****
Powerd by haowenq
Form www.jgwy.net
2011.7.16
****/
$url="http://dbdown.2u.com.cn/system/ylmf_GHOSTXP_SP3V2010.8.iso";
$fileName = basename($url);
$urlParts = parse_url($url);
$socketHandler = fsockopen($urlParts["host"], 80, $errno, $errstr, 30);
if (!$socketHandler) {
      exit("Connet error!");
} else {
      if (file_exists($fileName)) {
                $from = filesize($fileName);
      }
      $out = "GET ".$urlParts["path"]." HTTP/1.0\r\n";
      $out .= "Accept: */*\r\n";
      $out .= "Accept-Language: en-us\r\n";
      $out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
      $out .= "Host: ".$urlParts["host"]."\r\n";
      $out .= "Connection: Close\r\n";
      $out .= "Cache-Control: no-cache\r\n\r\n";
      $headerFound = false;
      if (!$fileHandler = fopen($fileName, "a")) {
                exit("Can not open file!");
      }
      fwrite($socketHandler, $out);
      while (!feof($socketHandler)) {
                if ($headerFound) {
                              $result = fread($socketHandler, 8192);
                              if (fwrite($fileHandler, $result) === false) {
                                        exit("Can not save file!");
                              }
                } else {
                        $result = fgets($socketHandler, 8192);
                        $result = trim($result);
                        if ($result === "") {
                              $headerFound = true;
                        }
                }
      }
      fclose($fileHandler);
      fclose($socketHandler);
      echo "Well done!";      
}
?>运行之后,本目录会多一个文件“ylmf_GHOSTXP_SP3V2010.8.iso”,下载完成之后大小为699.43 M!
附件同以上代码!

李开复 发表于 2011 年 7 月 16 日 21:20:28

可以用不?

8way 发表于 2011 年 7 月 16 日 21:26:56

牛逼,膜拜

8way 发表于 2011 年 7 月 16 日 21:28:08

对于会超时,超内存的空间可以用断点续传。

cckkk 发表于 2011 年 7 月 16 日 21:32:24

此办法可行,已经测试

Bein 发表于 2011 年 7 月 16 日 23:45:38

不错啊!
LZ的那个管理面板可否共享下呀。{:soso_e100:}

Lnaliang 发表于 2011 年 7 月 17 日 00:43:19

高 实在是高

Jonnes 发表于 2011 年 7 月 17 日 00:51:24

cckkk 发表于 2011-7-16 21:32 此办法可行,已经测试

请你别那个别人送给我的小号折磨行不

Jonnes 发表于 2011 年 7 月 17 日 00:51:47

cckkk 发表于 2011-7-16 21:32 此办法可行,已经测试

请你别那个别人送给我的小号折磨行不

wykslina 发表于 2011 年 7 月 17 日 08:38:37

这个东东不错。

直接WGET
页: [1] 2
查看完整版本: free.fr上传大文件方法