
curl_multi_getcontent 함수는 여러 요청의 결과를 한번에 받을 수 있는 함수입니다. 하지만, 이 함수는 모든 요청이 완료된 후에만 결과를 반환합니다. 만약에 여러 요청 중 하나가 실패할 경우, 해당 요청의 결과는 NULL이 반환됩니다.
따라서, curl_multi_getcontent 함수를 사용할 때는 모든 요청이 완료된 후에 결과를 확인하고, 실패한 요청의 결과를 NULL인 경우를 처리해야 합니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$multi = curl_multi_init();
$ch1 = curl_init('http://example.com/1');
$ch2 = curl_init('http://example.com/2');
curl_multi_add_handle($multi, $ch1);
curl_multi_add_handle($multi, $ch2);
do {
$mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($multi) != -1) {
do {
$mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
$result1 = curl_multi_getcontent($ch1);
$result2 = curl_multi_getcontent($ch2);
if ($result1 === FALSE) {
echo "Request 1 failedn";
} else {
echo "Request 1 result: $result1n";
}
if ($result2 === FALSE) {
echo "Request 2 failedn";
} else {
echo "Request 2 result: $result2n";
}
curl_multi_remove_handle($multi, $ch1);
curl_multi_remove_handle($multi, $ch2);
curl_multi_close($multi);
이 코드에서는 두 개의 요청을 병렬로 처리하고, 결과를 받은 후에 각 요청의 결과를 확인합니다. 만약에 하나의 요청이 실패할 경우, 해당 요청의 결과는 NULL이 반환됩니다.
2025-06-10 06:00