테스트 사이트 - 개발 중인 베타 버전입니다

php async

[code]

// 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);
}

[/code]

리턴 없이 데이터를 수행 할때 유용합니다.

 

저같은 경우는 SMS인증 하기라든지 메일링 대량 발송등에 사용 하고 있습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

값은 어떻게 전달하나요?
curl_async('https://example.com/test.php?aaa=1&bbb=2');
이렇게보내면 되나요?
네!
주석을 참조하시면 됩니다!
네 감사합니다.. 잘 쓸게요~ ^^

게시판 목록

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
글쓰기