Foros del Web » Programando para Internet » PHP »

Acceso a directorio de otra PC

Estas en el tema de Acceso a directorio de otra PC en el foro de PHP en Foros del Web. Buenas tardes, Talvez la solución sea muy obvia pero he estado intentando desde hace 2 días y no logro dar con la respuesta. Necesito abrir ...
  #1 (permalink)  
Antiguo 12/06/2014, 11:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Pregunta Acceso a directorio de otra PC

Buenas tardes,

Talvez la solución sea muy obvia pero he estado intentando desde hace 2 días y no logro dar con la respuesta. Necesito abrir un archivo de texto que se encuentra en otro equipo con PHP. El directorio donde esta el archivo esta compartido y tienen acceso total todos los usuarios.

Lo he intentado de estas formas

$ruta = "\\[nombre maquina]\Prueba\prueba.txt";
$ruta = "\\[nombre maquina]\\Prueba\\prueba.txt";
$ruta = "\\\\[nombre maquina]\Prueba\prueba.txt";
$ruta = "\\\\[nombre maquina]\\Prueba\\prueba.txt";
$ruta = "file://///[nombre maquina]/Prueba/prueba.txt";
$ruta = "//[nombre maquina]/Prueba/prueba.txt";

$fp = fopen($ruta,"r");

El error que sale es:

failed to open stream: No such file or directory in
y/o
failed to open stream: Permission denied in

Ya intente tambien copiar el archivo al equipo para trabajar de manera local pero la funcion copy marca el mismo error.

La red esta en ambiente de windows, la version de php es 5.3. Por favor si tienen alguna idea de como hacerle o si estoy haciendo algo mal se los agradecere.

Saludos.
  #2 (permalink)  
Antiguo 12/06/2014, 11:53
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Acceso a directorio de otra pc

Eso ya no es cosa de php, si de como funciona el sistema operativo:
http://stackoverflow.com/questions/1...-under-windows
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 12/06/2014, 12:16
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Acceso a directorio de otra pc

Veo has probado muchas formas... te paso una que funciona, solo debes verificar la ruta...... y si te da acceso denegado es que esa carpeta (la del escritorio) no esta compartida

Código PHP:
Ver original
  1. <?php
  2.     /*
  3.         Ojo con los \\ que se autoescapan: debes verificar que tenga sentido la ruta
  4.     */
  5.  
  6.     error_reporting(-1);   
  7.    
  8.     // defino ruta archivo en red
  9.     $path = "\\\\NOMBRE_MAQUINA\Users\USER\Desktop\\\\";
  10.     $file = 'archivo_en_escritorio.txt';
  11.  
  12.     // leo
  13.     $f = file_get_contents($path.$file);
  14.     echo $f;
  15.    
  16.     // escribo
  17.     file_put_contents($path."\\".'test.txt','By @italico76');
__________________
Salu2!
  #4 (permalink)  
Antiguo 12/06/2014, 14:03
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Acceso a directorio de otra pc

Muchas gracias,

hhs, voy a revisar el link que me mandas.

Italico76, no entendi lo que me dices. La carpeta compartida se encuentra localmente en la ruta C:\Prueba\ y puedo accesar sin problemas desde el explorador de windows y de hecho si en firefox escribo file://///[nombre equipo]/Prueba/Prueba.txt me abre el archivo. Sin embargo voy a probar tu codigo y te digo

Saludos.
  #5 (permalink)  
Antiguo 13/06/2014, 08:42
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Acceso a directorio de otra pc

Y revise la liga de hhs y realice lo que indica y aun no funciona, peeero me di cuenta de lo siguiente:

1.- Ya no da error de Permision denied solo de Invalid argument y No such file or directory.

2.- Si pongo \\[nombre equipo]\prueba\prueba.txt sale error de No such file or directory

3.- Si pongo cualquiera de las otras opciones antes mencionadas sale error de Invalid argument.

4.- Comillas simples o doble comillas no hacen diferencia

El codigo de Italco76 tampoco jala, me muestra el error de Invalid argument.

Ya van 3 dias, osea que pex con esto, sera que no se pueda??

Saludos.
  #6 (permalink)  
Antiguo 13/06/2014, 09:06
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Acceso a directorio de otra pc

Coloca la URL que con la que ingresas via Explorador en $path y si hay barras dobles (\\) las conviertes en (\\\\)


Ese error suena mas a OTRA COSA ... como a:

Cita:
invalid argument supplied for foreach()
Por que no coloca el ERROR COMPLETO... incluyendo NUMERO DE LINEA... y nos dices A QUE LINEA DE CODIGO SE CORRESPONDE!

POSTEA ALGO DE CODIGO!
__________________
Salu2!
  #7 (permalink)  
Antiguo 13/06/2014, 12:09
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Acceso a directorio de otra pc

Gracias Italico76,

Como ingreso via Explorador de windows es \\[nombre equipo]\prueba\prueba.txt.

El error que me aparece en firefox es:

Warning: fopen(\prueba\prueba\prueba.txt) [function.fopen]: failed to open stream: No such file or directory in C:\XAMPP\htdocs\prueba\prueba.php on line 5

la linea 5 tiene la instrucción

Código PHP:
Ver original
  1. $fp = fopen('\\prueba\prueba\prueba.txt','rb');

Si convierto las dobles barras tal como indicas, me aparece el siguiente error.

Warning: fopen(\\prueba\prueba\prueba.txt) [function.fopen]: failed to open stream: Invalid argument in C:\XAMPP\htdocs\prueba\prueba.php on line 5

la linea 5 tiene la instrucción

Código PHP:
Ver original
  1. $fp = fopen('\\\\prueba\prueba\prueba.txt','rb');

tambien lo intente asi

Código PHP:
Ver original
  1. $fp = fopen('\\\\prueba\\prueba\\prueba.txt','rb');

y arroja el mismo resultado.

Ya estoy dudando que se pueda realizar esto con PHP 5.3
  #8 (permalink)  
Antiguo 13/06/2014, 12:21
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Acceso a directorio de otra pc

Postea EXACTA la ruta aqui (nad de "prueba\prueba\prueba.txt" sino la real) y adicional dime....... tampoco puedes "leer" ni el raiz de tu unidad ?

Prueba al comienzo agregar esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. ini_set('allow_url_fopen', true);

Sino prueba asi:

Código PHP:
Ver original 
__________________
Salu2!
  #9 (permalink)  
Antiguo 13/06/2014, 16:02
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Acceso a directorio de otra pc

Tengo un servidor de prueba que tiene por nombre prueba ("me mate buscando un nombre para ello") . Dentro de ese servidor en C:\ cree una carpeta que se llama prueba y dentro de esa carpeta cree un archivo que se llama prueba.txt. Por lo que cuando pongo prueba es porque es real.

La ruta real del servidor donde se encuentra el archivo prueba.txt es C:\prueba\prueba.txt.

Mi maquina, que es donde estoy ejecutando el codigo tiene como nombre Israel85. Localmente cree una carpeta llamada prueba y dentro cree un archivo de texto llamado prueba.txt, igual que en servidor prueba. Hice la prueba de tratar de leer ese archivo y ya no me marco error, la linea que use fue:

Código PHP:
Ver original
  1. $fp = fopen('\\\\Israel85\prueba\prueba.txt','rb');

Tambien probe

Código PHP:
Ver original
  1. file_get_contents('\\\\Israel85\prueba\prueba.txt');

y tampoco me marco error.

El que tenga la linea
Código PHP:
Ver original
  1. ini_set('allow_url_fopen', true);
al inicio no hace diferencia ya que en el php ini se tiene configurado allow_url_fopen = On.

Crees que porque el servidor se llama prueba por eso no funciona?? MMM si es así me podrías explicar el porque?

Saludos

Última edición por israbart; 13/06/2014 a las 16:11 Razón: fe de erratas

Etiquetas: directorio, pc, usuarios
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 21:39.