Foros del Web » Programando para Internet » PHP »

file_get_contents no funciona en linux, pero si en windows.

Estas en el tema de file_get_contents no funciona en linux, pero si en windows. en el foro de PHP en Foros del Web. Este codigo se ejecuta en una PC local e intenta leer un archivo remoto ubicado en un hosting. Cita: $UrlSkynet="www.skyneterp.com"; $UrlUpdate="http://".$UrlSkynet."/developer777/Dev/Update/"; $VersionDispon = file_get_contents($UrlUpdate.'NumUpdate.txt'); //Guardamos ...
  #1 (permalink)  
Antiguo 27/03/2010, 08:30
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
file_get_contents no funciona en linux, pero si en windows.

Este codigo se ejecuta en una PC local e intenta leer un archivo remoto ubicado en un hosting.

Cita:
$UrlSkynet="www.skyneterp.com";
$UrlUpdate="http://".$UrlSkynet."/developer777/Dev/Update/";
$VersionDispon = file_get_contents($UrlUpdate.'NumUpdate.txt'); //Guardamos archivo.txt en $archivo

echo "Disponible:".$VersionDispon; //funciona en windows, pero no en linux (Centos)
Alquien tiene una idea?
Gracias por sus sugerencias
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #2 (permalink)  
Antiguo 27/03/2010, 08:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Lee este aporte para ver si te ayuda http://www.forosdelweb.com/f18/aport...equest-724214/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/03/2010, 10:30
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: file_get_contents no funciona en linux, pero si en windows.

probe lo recomendado:

1. Usar el metodo de POST con file_get_contents()
2. Usar el metodo de POST con cURL
3. Usar el metodo de POST con HTTP_Request


pero ninguno funciona, a excepcion de HTTP_Request , el cual me arroja la URL. Lo que yo queiro es leer el contenido del archivo: NumUpdate.txt

NumUpdate.txt
Cita:
305
de modo que:
echo $VersionDispon; //deveria pintar 305


Alguna idea?
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #4 (permalink)  
Antiguo 27/03/2010, 11:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: file_get_contents no funciona en linux, pero si en windows.

¿Pero leiste la primera parte que indica que debe estar activado en el php.ini allow_url_fopen, para poder usar file_get_contents? Ahora para leer un contenido de algún archivo solo tienes que usar las funciones de filesystem, como por ejemplo fread o file.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 27/03/2010, 11:24
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Efectivamente abimaelrc, en el fichero php.ini está como OFF en "allow_url_fopen".

No existirá alguna forma de leer un fichero externo, sin necesidad de modificar el php.ini?
Gracias por tu respuesta.
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #6 (permalink)  
Antiguo 27/03/2010, 11:40
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Aver lo planteo de otra manera:

Tengo una archivo externo:
$UrlExterno="http://www.google.com/Archivo.txt";

el cual solo tiene el siguiente dato:

Archivo.txt
Cita:
305
Y desde otra web ubicada en otro hosting, deseo guardar el valor de Archivo.txt en una variable simple:

JalaVariable.php
Cita:
echo $ValorTextoExtreno; //aqui devería pintar 305
NOTA. No deseo usar fopen ya que eso implica modificar el php.ini a nivel de "allow_url_fopen" el cual esta en OFF. usar funciones habilitadas por default.

Gracias por las ideas
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #7 (permalink)  
Antiguo 27/03/2010, 11:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: file_get_contents no funciona en linux, pero si en windows.

¿Tienen activado cURL?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 27/03/2010, 11:49
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Asumo que si, ya que revisando info.php veo lo siguiente:

Cita:
curl
cURL support enabled
cURL Information libcurl/7.19.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #9 (permalink)  
Antiguo 27/03/2010, 11:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Pues entonces mira el aporte y trata de hacer unas verificaciones, te sugiero que uses el método de get, ya que solo vas a ingresar una dirección sencilla sin más información.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 27/03/2010, 12:09
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: file_get_contents no funciona en linux, pero si en windows.

Si salio por fin. Aqui el codigo:
Cita:
$c = curl_init($UrlUpdate);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$VersionDispon = curl_exec($c);
curl_close($c);

Por cierto, seria conveniente colocar una condicional para usar cURL o fopen segun este habilitado o no.

Gracias por tu apoyo abimaelrc
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com

Etiquetas: file_get_contents
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.