Alternativa a file_get_contents() en PHP

Ok, esto va en serio, el 99.99% de los hostings tiene deshabilitado el allow_url_open, por ende la función file_get_contents NO FUNCIONA!

Programadores del mundo, pueden dejar de usarla? Gracias!

La solución mas simple es usar CURL que por el contrario de allow_url_open, SI está disponible en la mayoría de los hostings.

Entonces podemos usar una función alternativa,

function get_remote_file($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;
}

Si la url existe y se puede acceder, la función devuelve el contenido en una variable y si por el contrario ocurre un error o no es posible completar el pedido retorna FALSE.

Hay 6 comentarios en Alternativa a file_get_contents() en PHP

Apoyo la moción.
Gracias a eso me pude hacer mi propio whois a nic.ar sin tener que pasar por el pedorrísimo sitio de ellos ;-)

jeje nunca un API los pibes de NIC.ar :P

no, ni ahi.
Y además, intentan limitar la búsqueda de dominios por medio del referer ;-)

Me sirvió mucho esta función!!!
Alguna aalternativa a mysql connect cuando esta restringido el remote file inclusion???

Hola Uriel, no se que problemas estás teniendo, pero mysql_connect no tiene nada que ver con esa directiva de PHP.

Qué tipo de error te da? Estas usando la función nativa o es una clase/script el que devuelve el error?

Hola, a mi me aparece este error: Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in …...

Al querer usar el componente weather en joomla.

Donde tengo que hacer los cambios para que funcione. Gracias

Dejá tu opinión »