free.fr上传大文件方法

用fsockopen来远程下载文件,虽然会500错误,但是不会超时,文件会一直下载完成为止!
测试代码如下:

  1. <?php
  2. /****
  3. Powerd by haowenq
  4. Form www.jgwy.net
  5. 2011.7.16
  6. ****/
  7. $url=”http://dbdown.2u.com.cn/system/ylmf_GHOSTXP_SP3V2010.8.iso”;
  8. $fileName = basename($url);
  9. $urlParts = parse_url($url);
  10. $socketHandler = fsockopen($urlParts[“host”], 80, $errno, $errstr, 30);
  11. if (!$socketHandler) {
  12.         exit(“Connet error!”);
  13. } else {
  14.         if (file_exists($fileName)) {
  15.                 $from = filesize($fileName);
  16.         }
  17.         $out = “GET “.$urlParts[“path”].” HTTP/1.0\r\n”;
  18.         $out .= “Accept: */*\r\n”;
  19.         $out .= “Accept-Language: en-us\r\n”;
  20.         $out .= “User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n”;
  21.         $out .= “Host: “.$urlParts[“host”].”\r\n”;
  22.         $out .= “Connection: Close\r\n”;
  23.         $out .= “Cache-Control: no-cache\r\n\r\n”;
  24.         $headerFound = false;
  25.         if (!$fileHandler = fopen($fileName, “a”)) {
  26.                 exit(“Can not open file!”);
  27.         }
  28.         fwrite($socketHandler, $out);
  29.         while (!feof($socketHandler)) {
  30.                 if ($headerFound) {
  31.                                 $result = fread($socketHandler, 8192);
  32.                                 if (fwrite($fileHandler, $result) === false) {
  33.                                         exit(“Can not save file!”);
  34.                                 }
  35.                 } else {
  36.                         $result = fgets($socketHandler, 8192);
  37.                         $result = trim($result);
  38.                         if ($result === “”) {
  39.                                 $headerFound = true;
  40.                         }
  41.                 }
  42.         }
  43.         fclose($fileHandler);
  44.         fclose($socketHandler);
  45.         echo “Well done!”;
  46. }
  47. ?>

复制代码

运行之后,本目录会多一个文件“ylmf_GHOSTXP_SP3V2010.8.iso”,下载完成之后大小为699.43 M!
附件同以上代码!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论