php async > 개발자팁

개발자팁

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

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

댓글 3개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT