您现在的位置是:PHP利用fsockopen异步处理数据

PHP利用fsockopen异步处理数据

yuli09272016年11月29日 标签: PHP

Tips 分类: PHP   浏览:2308  标签: PHP 

PHP发送一个http请求,不等待结构返回,继续执行...

不会因为远程服务器慢导致页面超时!本函数不同于file_get_content:访问url不耗费时间,但没有返回值。

//异步处理数据
public static function doRequest($host, $path = '/', $param = array()) {
    $query = isset($param) ? http_build_query($param) : '';
    $port = 80;
    $errno = 0;
    $errstr = '';
    $timeout = 10;
    $fp = fsockopen($host, $port, $errno, $errstr, $timeout);

    if( $fp ) {
        !$path && $path = '/';
        $out = "POST ".$path." HTTP/1.1\r\n";
        $out .= "host:".$host."\r\n";
        $out .= "content-length:".strlen($query)."\r\n";
        $out .= "content-type:application/x-www-form-urlencoded\r\n";
        $out .= "connection:close\r\n\r\n";
        $out .= $query;
        fputs($fp, $out);
        fclose($fp);
   }
}