Resulta frecuente que descarguemos una librería PHP, un plugin o que copiemos un snippet desde alguna página web amiga pero, a la hora de ejecutarlo, la configuración de nuestro servidor tenga restringidas ciertas acciones.
Con la función file_get_contents() suele ocurrir: la mayoría de proveedores de hostings tienen deshabilitada la función allow_url_open necesaria para su funcionamiento. Por tanto, hay que buscar formas alternativas que resuelvan el problema.
Una de las posibles soluciones es utilizar cURL, aunque esta herramiento tiene también sus propios detractores. Para nuestro ejemplo, crearíamos una función alternativa con la que reemplazaríamos a la problemática file_get_contents().
1 2 3 4 5 6 7 8 9 | function getRemoteFile($url, $timeout = 10) { $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); return ($file_contents) ? $file_contents : FALSE; } |
La función es bastante clara por sí misma: si la URL existe, devuelve su contenido; de lo contrario, devuelve el booleano FALSE.


