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

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');
이렇게보내면 되나요?
네!
주석을 참조하시면 됩니다!
네 감사합니다.. 잘 쓸게요~ ^^

게시글 목록

번호 제목
15895
15894
15893
15888
15887
15886
15885
jQuery .end()
15884
15883
jQuery .each()
15882
jQuery .die ()
15881
15880
15878
15877
15876
15874
15873
15872
15871
15866
15865
15864
15863
15862
15861
15859
15858
15857
15856
15855