What are potential reasons for receiving a "HTTP request failed! HTTP/1.0 403 Forbidden" error when using file_get_contents in PHP?

The "HTTP request failed! HTTP/1.0 403 Forbidden" error typically occurs when the server denies access to the requested resource. This could be due to the server's security settings, such as IP blocking or user agent restrictions. To resolve this issue, you can try setting a custom user agent in the HTTP headers of the request to make it appear more like a regular browser request.

$url = 'https://example.com/api/data';
$options = array(
    'http' => array(
        'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3\r\n"
    )
);

$context = stream_context_create($options);
$data = file_get_contents($url, false, $context);

if ($data === false) {
    echo "Failed to fetch data";
} else {
    echo $data;
}