php异步调用.txt /** * 异步执行 * @param string $url 网址 * @param mixed $post post数据 * @param string $contentType */function async_exec($url, $post = '', $contentType = 'application/x-www-form-urlencoded', $isDebug = false){ i
/** * 异步执行 * @param string $url 网址 * @param mixed $post post数据 * @param string $contentType */ function async_exec($url, $post = '', $contentType = 'application/x-www-form-urlencoded', $isDebug = false){ if(strpos($url, 'http://') !== false || strpos($url, 'https://') !== false ){ $u = parse_url($url); $host = $u['host']; $port = isset($u['port']) ? $u['port'] : 80; $url = str_replace($u['scheme'].'://'.$host.(isset($u['port']) ? ':'.$port : ''), '', $url); } else { $host = $_SERVER['HTTP_HOST']; $port = 80; } $fp = fsockopen ( "{$host}", $port, $errno, $errstr, 10); if (! $fp) { echo "{$errstr} {$errno} \\n"; } else { if(!empty($post)){ if(is_array($post)){ $post = http_build_query($post); } $header = [ 'POST '.$url.' HTTP/1.1', 'Accept: */*', 'Host: '.$host, 'Content-type: '.$contentType, 'Content-Length: '.strlen($post), 'Connection: Close', $post ]; } else { $header = [ 'GET '.$url.' HTTP/1.1', 'Host: '.$host, 'Connection: Close' ]; } fputs($fp, join("\r\n", $header)."\r\n\r\n"); if($isDebug){ while(!feof($fp)){ echo fgets($fp, 128); break; } } fclose($fp); } }