Tema: FAQ's de PHP
Ver Mensaje Individual
  #199 (permalink)  
Antiguo 05/09/2008, 15:13
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: FAQ's de PHP

Tema: Leer archivos (fuera de mi servidor)
Pregunta: Necesito leer archivos fuera de mi servidor, por ejemplo un rss, o una salida de un webservice o simplemente de una página cualquiera.
Respuesta: Si, podés usar file_get_contents, pero es mejor curl pero éste debe estar instalado en el server. Por si no sabemos que tenemos disponible en nuestro servidor podés usar la siguiente función:


Código PHP:
function getFile($archivo){
 if(
ini_get('allow_url_fopen')){
  
$ctx stream_context_create(array(
   
'http' => array(
    
'timeout' => 240
    
)
   )
  );
  
$contentfile_get_contents($archivo0$ctx);
 }else{
  
$ch curl_init ($archivo) ;
  
curl_setopt ($chCURLOPT_RETURNTRANSFER1) ;
  
$contentcurl_exec ($ch) ;
  
curl_close ($ch) ;
 }
 return 
$content;
}
 
//PHP 4.2.x < solo es necesario si se tiene esta versión de php
if (!function_exists('file_get_contents')) {
      function 
file_get_contents($filename$incpath false$resource_context null)
      {
          if (
false === $fh fopen($filename'rb'$incpath)) {
              
trigger_error('file_get_contents() failed to open stream: No such file or directory'E_USER_WARNING);
              return 
false;
          }
 
          
clearstatcache();
          if (
$fsize = @filesize($filename)) {
              
$data fread($fh$fsize);
          } else {
              
$data '';
              while (!
feof($fh)) {
                  
$data .= fread($fh8192);
              }
          }
 
          
fclose($fh);
          return 
$data;
      }
  } 
Y acá te dejo un ejemplo:
Código PHP:
echo getFile('http://www.forosdelweb.com/f18/faqs-php-530600/index7.html'); 
__________________
Mi punto de partida es Que Bueno Lo Nuevo