Foros del Web » Programando para Internet » PHP »

¿Como leer un txt de un equipo remoto?

Estas en el tema de ¿Como leer un txt de un equipo remoto? en el foro de PHP en Foros del Web. Desde un equipo remoto genero un fichero .txt y quiero incorporar este fichero a mi página web o leer dicho fichero. La página que he ...
  #1 (permalink)  
Antiguo 24/03/2009, 02:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 17 años, 6 meses
Puntos: 0
¿Como leer un txt de un equipo remoto?

Desde un equipo remoto genero un fichero .txt y quiero incorporar este fichero a mi página web o leer dicho fichero.

La página que he creado es la siguiente midominio.com/prueba.php :

Código PHP:
<?
$archivo
fopen("C:\\documento.txt" "r"); 
if (
$archivo) { 
while (!
feof($archivo)) { 
echo 
fgets($archivo255).'<br>'


fclose ($archivo); 
?>
El resultado que me devuelve es el siguiente:

Warning: fopen(C:\documento.txt) [function.fopen]: failed to open stream: No existe el fichero o el directorio in /var/www/html/aisms/prueba.php on line 3

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/aisms/prueba.php on line 9

Intuyo que es un tema de permisos pero le he dado permisos de lectura a ese fichero y también a la unidad c: de dicho equipo y sigue dando el mismo error.

También he activado allow_url_open a On pero no hace nada. Entiendo que esta opción es solamente cuando la ruta es una url.

Si alguien ha intentado hacer lo mismo y lo ha conseguido haber si me hecha un cable.

La idea es que cualquier usuario pueda subir un fichero de forma automática a la página web sin tener que hacer un file upload.
Otras opciones serian implementarlo con ftp o con servicios web pero creo que con fopen es mucho más sencilla.
  #2 (permalink)  
Antiguo 24/03/2009, 05:04
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como leer un txt de un equipo remoto?

Colega, C:\ se refiere al disco duro local, y si tu directorio WWW es /var/www significa que tienes unix/linux. Si el archivo es remoto, prueba a montar en el sistema de archivos un sistema remoto (quizá con samba funcione), por ejemplo /mnt/remoto e invocar así: fopen("/mnt/remoto/documento.txt").

Si eso no funciona, quizá lo más sencillo sea FTP, aunque depende mucho del contenido, uso y tamaño del archivo de texto.
  #3 (permalink)  
Antiguo 24/03/2009, 05:22
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: ¿Como leer un txt de un equipo remoto?

Gracias colega por tu aportacion.

Ya sé que tengo un unix/linux como servidor de páginas php.
El tema es que quiero acceder a un archivo de un disco duro remoto, no el mio.
Por otro lado hacer un mount de un equipo remoto es inviable.

Entiendo que si modificara la directiva open_basedir e incluyera una ruta de un archivo en windows debería leerla pero no he encontrado ningún ejemplo que lo haga.

Voy a hacer unos cuantos intentos más y posiblemente utilice la opción de ftp como comentas.
  #4 (permalink)  
Antiguo 24/03/2009, 08:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Como leer un txt de un equipo remoto?

Hola villeneroso,

Lamentablemente es imposible hacerlo de esa forma, las directivas de seguridad no permiten hacerlo, y es imposible leer un disco duro remoto.

La única forma de hacerlo es como ya te dijieron o a) montar el sistema de archivos de forma remota, o b) usar FTP/SFTP.

Saludos.
  #5 (permalink)  
Antiguo 25/03/2009, 03:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: ¿Como leer un txt de un equipo remoto?

gracias por tu respuesta GatorV,

voy a empezar a implementarlo en ftp.

Saludos
  #6 (permalink)  
Antiguo 25/03/2009, 05:22
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
De acuerdo Respuesta: ¿Como leer un txt de un equipo remoto?

buenas, yo haria lo siguiente, en el equipo remoto instalas un servidor apache con un dns de esos de no-ip y en tu sitio web generas un script que primero lo lea al archivo de esta forma

http://tunombre.no-ip.org/archivo.txt


ahi podes leer el txt con un php y luegos puedes guardarlo en tu sitio web a ese contenido como un txt y trabajarlo a tu antojo.

es lo que se me ocurre a mi.

espero sira la idea. Salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #7 (permalink)  
Antiguo 25/03/2009, 07:01
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: ¿Como leer un txt de un equipo remoto?

si el archivo esta en otro servidor podes hacerlo asi...

Código PHP:
<?php 
// reemplaza esto por la url o ip del lugar donde esta el archivo txt..
$url='http://tunombre.no-ip.org/archivo.txt';

// extrae el codigo fuente de pagina externa
$paginaweb file_get_contents($url);

// para imprimir el codigo fuente
echo nl2br(htmlentities($paginaweb));

?>
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
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 15:38.