¿Por qué no usar file_get_contents?
Por razones de seguridad. Al usar file_get_contents para recuperar datos de sitios remotos se deja abierta la posibilidad de un ataque por inyección de código. Es por ello que se recomienda deshabilitar la opción allow_url_fopen en el archivo php.ini, la cuál permite el acceso a archivos remotos para funciones que normalmente toman un nombre de archivo como parámetro como file_get_contents.
¿Por qué usar cURL?
cURL es una librería segura, potente y ampliamente usada para realizar transferencias de datos con diversos protocolos en PHP.
¿Cómo reemplazo file_get_contents?
Usando una función que haga lo mismo pero usando cURL como la que sigue lineas abajo.
Código - Función reemplazo de file_get_contents:
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}