라이브러리

[PHP] curl_multi_select - cURL 다중 핸들 연결에 대한 읽기 또는 쓰기가 가능할 때까지 기다립니다.




Curl Multi Select

PHP의 `curl_multi_select` 함수는 `curl_multi` API를 사용하여 여러 개의 HTTP 요청을 동시에 처리할 수 있는 기능을 제공합니다. 이 함수는 `curl_multi` API의 일부로, 여러 개의 HTTP 요청을 동시에 처리할 수 있는 기능을 제공합니다.

기능

`curl_multi_select` 함수는 `curl_multi` API의 일부로, 다음과 같은 기능을 제공합니다.

- 여러 개의 HTTP 요청을 동시에 처리할 수 있습니다.
- HTTP 요청의 상태를 확인할 수 있습니다.
- HTTP 요청의 결과를 가져올 수 있습니다.

예제

다음 예제는 `curl_multi_select` 함수를 사용하여 여러 개의 HTTP 요청을 동시에 처리하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// curl_multi_init 함수를 사용하여 curl_multi 핸들러를 초기화합니다.

$mh = curl_multi_init();



// 여러 개의 HTTP 요청을 추가합니다.

$ch1 = curl_init('http://example.com');

curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);

curl_multi_add_handle($mh, $ch1);



$ch2 = curl_init('http://example.com');

curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);

curl_multi_add_handle($mh, $ch2);



// curl_multi_select 함수를 사용하여 HTTP 요청의 상태를 확인합니다.

do {

    $mrc = curl_multi_select($mh);

    if ($mrc == -1) {

        // select() 함수가 실패했을 때

        echo "select() 함수가 실패했습니다.
";

        break;

    }

} while ($mrc == 0);



// HTTP 요청의 결과를 가져옵니다.

do {

    $info = curl_multi_exec($mh, $active);

    if ($active) {

        // select() 함수가 실패했을 때

        echo "select() 함수가 실패했습니다.
";

        break;

    }

} while ($active);



// HTTP 요청의 결과를 가져옵니다.

foreach ($mh as $ch) {

    $result = curl_multi_getcontent($ch);

    echo $result . "
";

}



// curl_multi_remove_handle 함수를 사용하여 HTTP 요청을 제거합니다.

curl_multi_remove_handle($mh, $ch1);

curl_multi_remove_handle($mh, $ch2);



// curl_multi_close 함수를 사용하여 curl_multi 핸들러를 닫습니다.

curl_multi_close($mh);



?>



주의사항

- `curl_multi_select` 함수는 `curl_multi` API의 일부로, 여러 개의 HTTP 요청을 동시에 처리할 수 있는 기능을 제공합니다.
- `curl_multi_select` 함수는 `curl_multi_exec` 함수와 함께 사용해야 합니다.
- `curl_multi_select` 함수는 `select()` 함수와 유사한 동작을 하며, `select()` 함수가 실패할 경우 `-1`을 반환합니다.
- `curl_multi_select` 함수는 `curl_multi_exec` 함수가 실패할 경우 `0`을 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 634 페이지

검색

게시물 검색