|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
用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!
附件同以上代码!
haowenq.zip
(761 Bytes, 下载次数: 267)
|
|