没有讲清你的需求....理论上,php可以做成多线程的下载点.
解决方案 »
- 不能访问apach服务器
- 帮帮忙。模板里怎么输出数组!
- Warning: Call-time pass-by-reference has been deprecated; If you would like to p
- 请问网上商城的订单号设计
- 简单的PHP程序问题
- _RUQUEST和_POST、_GET什么区别啊?
- 这样访问access为什么会出错呢?
- 为何这验证用户名是否正确的语句无法正确执行
- 欢迎大家下载我的软件,下载者有分.
- phpstorm中出现502bad gateway错误怎么办?路径什么的都配置好了但是没用,求大神解救
- ms sql 中反斜杠注释出错问题,我的是php+
- 将access数据库导入mysql后,中文显示乱码
function getfilebodybinhttp($filename){
eregi("^(http://)?([^/:]*):?([^/]*)?(.*)?",$filename,$fileparts);
$port=($fileparts[3]=="")?80:intval($fileparts[3]);
$strCommands="";
$retBin=NULL;
$body=NULL;
$psize=1024;
if($fphttp=fsockopen($fileparts[2],$port,$errno,$errstr,30)){
$strCommands.= $this->Method." ".$fileparts[4]." HTTP/1.1\n";
$strCommands.="Host:".$fileparts[2]."\n";
$strCommands.="Accept:".$this->Accept."\n";
$strCommands.="User-Agent:".$this->userAgent."\n";
//$strCommands.="Pragma:no-cache\n";
$strCommands.="Content-type: application/x-www-form-urlencoded\n";
if($this->Cookie!="")
$strCommands.= "Cookie:".$this->Cookie."\n";
if($this->AcceptLanguage!="")
$strCommands.="Accept-Language:".$this->AcceptLanguage."\n";
$strCommands=$strCommands."Referer:".(($this->Referer=="")?$fileparts[2]:$this->Referer)."\n";
$strCommands.="Connect:CLOSE\n";
$strCommands.="\n";
fputs($fphttp,$strCommands);
//echo $strCommands."<p>";
$crlf=chr(13).chr(10);
$bodyEnd=chr(0).chr(0);
while(($parts=fgets($fphttp)) && $parts!=$crlf && (substr($parts,-2)!=$bodyEnd))
$head.=$parts;
//eregi("Content-Length:([^\n]*)?.*",$head,$regs);
//$filesize=intval($regs[1]);
//$l=intval($filesize/$psize)+1;
while(!feof($fphttp)){
stream_set_timeout($fphttp, 60);
$body .= fread($fphttp, 4096);
$info = stream_get_meta_data($fphttp);
if ($info['timed_out']) break;
} fclose($fphttp);
return $body;
}
}这是用fsockopen写的下载函数
该如何去做多线程
主机是windows的 好像不支持pcntl_fork
不知道如何实现多线程