PHP ini file_get_contents URL externa

Resuelto arik asked hace 54 años • 8 respuestas

Utilizo la siguiente función PHP:

file_get_contents('http://example.com');

Cada vez que hago esto en un servidor determinado, el resultado está vacío. Cuando lo hago en cualquier otro lugar, el resultado es cualquiera que sea el contenido de la página. Sin embargo, cuando uso la función localmente en el servidor donde el resultado está vacío, sin acceder a una URL externa ( file_get_contents('../simple/internal/path.html');), funciona .

Ahora, estoy bastante seguro de que tiene algo que ver con cierta configuración de php.ini. Sin embargo, de lo que no estoy seguro es de cuál . Por favor ayuda.

arik avatar Jan 01 '70 08:01 arik
Aceptado

Complementando la respuesta de Aillyn, podrías usar una función como la siguiente para imitar el comportamiento de file_get_contents:

function get_content($URL){
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $URL);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;
}

echo get_content('http://example.com');
Pablo avatar Aug 15 '2010 18:08 Pablo

La configuración que buscas es allow_url_fopen.

Tiene dos formas de evitarlo sin cambiar php.ini, una de ellas es usar fsockopen()y la otra es usar cURL .

Recomiendo usar cURL de file_get_contents()todos modos, ya que fue creado para esto.

Aillyn avatar Aug 15 '2010 17:08 Aillyn