php async 정보
PHP php async본문
// POST방식으로 fsockopen 통신 :: 리턴값은 없고 보내고 바로 커넥션을 끊는다
/*
예제
curl_async('http://example.com/test.php');
curl_async('https://example.com/test.php');
curl_async('/test.php');
*/
function curl_async($url) {
$parts = parse_url($url);
if(empty($parts['host'])) {
$parts['scheme'] = '';
$parts['host'] = reset(explode(':', $_SERVER['HTTP_HOST']));
$parts['port'] = (count(explode(':', $_SERVER['HTTP_HOST'])) > 1?end(explode(':', $_SERVER['HTTP_HOST'])):80);
if($parts['port'] != '80') $parts['scheme'] = 'https';
}
if(is_array($parts) && isset($parts['query'])) $post_string = $parts['query'];
else $post_string = '';
$fp = fsockopen(($parts['scheme'] == 'https'?'ssl://':null).$parts['host'], isset($parts['port'])?$parts['port']:80, $errno, $errstr, 10);
$out = "POST ".$parts['path']." HTTP/1.1\r\n";
$out.= "Host: ".$parts['host']."\r\n";
$out.= "Content-Type: application/x-www-form-urlencoded\r\n";
$out.= "Content-Length: ".strlen($post_string)."\r\n";
$out.= "Connection: Close\r\n\r\n";
if(isset($post_string)) $out.= $post_string;
fwrite($fp, $out);
fclose($fp);
}
리턴 없이 데이터를 수행 할때 유용합니다.
저같은 경우는 SMS인증 하기라든지 메일링 대량 발송등에 사용 하고 있습니다.
!-->
추천
2
2
댓글 3개
값은 어떻게 전달하나요?
curl_async('https://example.com/test.php?aaa=1&bbb=2');
이렇게보내면 되나요?
curl_async('https://example.com/test.php?aaa=1&bbb=2');
이렇게보내면 되나요?
네!
주석을 참조하시면 됩니다!
주석을 참조하시면 됩니다!
네 감사합니다.. 잘 쓸게요~ ^^