How can CURL be utilized as an alternative to file_get_contents for sending POST requests in PHP?

When sending POST requests in PHP, using CURL can be a more flexible and powerful alternative to file_get_contents. CURL allows for more control over the request headers, parameters, and options compared to file_get_contents. By utilizing CURL, you can easily send POST requests with custom headers, handle redirects, and manage cookies.

// Initialize CURL session
$ch = curl_init();

// Set the URL to send the POST request to
curl_setopt($ch, CURLOPT_URL, 'https://example.com/api');

// Set the request method to POST
curl_setopt($ch, CURLOPT_POST, 1);

// Set the POST data
$postData = array(
    'param1' => 'value1',
    'param2' => 'value2'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));

// Execute the request
$response = curl_exec($ch);

// Close CURL session
curl_close($ch);

// Handle the response
echo $response;