txt - leer un archivo de texto desde php
Obtener contenido de URL PHP (3)
1) métodos locales más simples
<?php
echo readfile("http://example.com/"); //needs "Allow_url_include" enable
//OR
echo include("http://example.com/"); //needs "Allow_url_include" enabled
//OR
echo file_get_contents("http://example.com/");
//OR
echo stream_get_contents(fopen(''http://example.com/'', "rb")); //you may use "r" instead of "rb" //needs "Allow_url_fopen" enabled
?>
2) Mejor Camino es CURL :
echo get_remote_data(''http://example.com/?myPage'', ''var2=something&var3=blabla'' ); // GET & POST request
Ver código de función aquí . Maneja automáticamente el problema de FOLLOWLOCATION + ¡Las direcciones URL remotas se corrigen automáticamente! ( src="./imageblabla.png"
--------> src="http://example.com/path/imageblabla.png"
)
Los usuarios de psGNU / Linux pueden necesitar el paquete php5-curl
.
Esta pregunta ya tiene una respuesta aquí:
- Obtener el contenido del archivo de la URL? 5 respuestas
Quiero poner el contenido de una URL en una cadena y procesarla. Sin embargo, tengo un problema.
Me sale este error:
Warning: file_get_contents(http://www.findchips.com/avail?part=74ls244) [function.file-get-contents]: failed to open stream: Redirection limit reached,
He escuchado que esto viene debido a la protección de páginas y encabezados, cookies y cosas. ¿Cómo puedo anularlo?
También he probado alternativas como fread junto con fopen pero supongo que no sé cómo hacerlo.
¿Alguien puede ayudarme por favor?
Trate de usar cURL lugar. cURL implementa una cookie jar, mientras que file_get_contents no lo hace.
Utilizar cURL
,
Compruebe si lo tiene a través de phpinfo();
Y para el código:
function getHtml($url, $post = null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
if(!empty($post)) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}