php 异步执行

<?php


$url = "http://www.abcd.com/ignore.php?time=".time()."&app=test";
echo $url,"\n";


$start = getmicrotime();


triggerRequest($url);


$end = getmicrotime();


echo $end - $start;




function getmicrotime()
{
   list($usec, $sec) = explode(' ', microtime());
   return ((float)$usec + (float)$sec);
}




function triggerRequest($url, $post_data = array()){
    $method = "GET";  //可以通过POST或者GET传递一些参数给要触发的脚本
    $url_array = parse_url($url); //获取URL信息,以便平凑HTTP HEADER
    var_dump($url_array);
    $port = isset($url_array['port'])? $url_array['port'] : 80;


    $fp = fsockopen($url_array['host'], $port, $errno, $errstr, 30);
    var_dump($fp);
    if (!$fp) {
        return FALSE;
    }
    var_dump($fp);
    $getPath = $url_array['path'] ."?". $url_array['query'];
    if(!empty($post_data)){
        $method = "POST";
    }
    $header = $method . " " . $getPath;
    $header .= " HTTP/1.1\r\n";
    $header .= "Host: ". $url_array['host'] . "\r\n "; //HTTP 1.1 Host域不能省略
    //$header .= "Connection: Close\r\n\r\n";
    $header .= "Connection:Close\r\n\r\n";


    if(!empty($post_data)){
        $_post = strval(NULL);
        foreach($post_data as $k => $v){
            $_post .= $k."=".$v."&";
        }


        $out .= "Connection: Close\r\n\r\n";
        $post_str  = "Content-Type: application/x-www-form-urlencoded\r\n";//POST数据
        $post_str .= "Content-Length: ". strlen($_post) ." \r\n";//POST数据的长度
        $post_str .= $_post."\r\n\r\n "; //传递POST数据
        $header .= $post_str;
    }
    echo $header;
    fwrite($fp, $header);
    //echo fread($fp, 1024); //我们不关心服务器返回
    fclose($fp);
    return true;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值