Foros del Web » Programando para Internet » PHP »

Funcion dir() problemas en cliente

Estas en el tema de Funcion dir() problemas en cliente en el foro de PHP en Foros del Web. Hola a todos quisiera me ayudaran y tambien no se si sea el lugar para exponer, tengo el siguente problema en un archivo con un ...
  #1 (permalink)  
Antiguo 23/02/2011, 09:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Funcion dir() problemas en cliente

Hola a todos quisiera me ayudaran y tambien no se si sea el lugar para exponer, tengo el siguente problema en un archivo con un cuadro de texto, pido la ruta de archivos y lo envio con el metodo post a otro archivo donde procesare varios archivos, lo mas curioso es que en el equipo donde tengo instalado apache,php y mysql si funciona sin problemas pero al hacerlo desde otro equipo de la red me marca el siguiente error

Warning: dir(D:\archivos\,D:\archivos\) [function.dir]: El sistema no puede hallar el archivo especificado. (code: 2) in C:\EasyPHP-5\www\lista.php on line 5

el codigo

<?php
set_time_limit(0);
include('index.php');
$direc = $_POST['ruta'];
$d = dir($direc);

$arr_file = Array();
while (false !== ($entry = $d->read())) {
if(strtoupper(substr($entry, -3, 3)) == 'TXT'){
$arr_file[] = $entry;
}
}
$d->close();

otro detalle a observar es que "C:\EasyPHP-5\www\lista.php on line 5" es la ruta del equipo servidor y no del equipo cliente desde donde ejecuto.

gracias anticipadas
  #2 (permalink)  
Antiguo 23/02/2011, 10:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion dir() problemas en cliente

creo que deberías estudiar, porque es obvio que no comprendes que php se ejecuta en el servidor...

y bueno, si el servidor tiene un navegador con el que haces pruebas, y desde ahí usas rutas locales es por eso que te funcionan!!

pero no así con carpetas que están fuera del alcance local del servidor, eso se te paso...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2011, 11:14
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

pateketrueke

Podrias ser un poco mas educado, claro que se que php se ejecuta en el lado del servidor, tambien se que soy novato, lo que no entiendo es para que me puede servir una funcion que solo me va a decir lo que hay en los directorios del servidor, si lo que yo quiero es abrir y procesar un archivo del lado cliente. creo que preguntando se aprende no creo que tu nacieras sabiendo mi querido tenochtitlano.

Ademas realmente no aportas nada con tu respuesta.

no hay preguntas tontas, hay tontos que no preguntan

Saludos y en espera de alguien que aporte desde ya saludos
  #4 (permalink)  
Antiguo 23/02/2011, 11:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion dir() problemas en cliente

Cita:
Iniciado por computer_si Ver Mensaje
[...] claro que se que php se ejecuta en el lado del servidor [...] lo que yo quiero es abrir y procesar un archivo del lado cliente. creo que preguntando se aprende [...]
he ahí la cuestión, en primer lugar, y sabiendo lo que era.. decidiste no preguntar, pero si asumiste que era posible...

si ya sabías, ¿porque lo hacías?

si querías saber, ¿porque no preguntaste bien?

tu planteamiento inicial jamás fue una pregunta, de haber sido así la respuesta sería la misma: php se ejecuta en el servidor, de modo que no puedes acceder a nada del cliente...

PDTA: perdón por mi mala educación, ¿y la tuya?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/02/2011, 12:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

Cita:
Iniciado por pateketrueke Ver Mensaje
he ahí la cuestión, en primer lugar, y sabiendo lo que era.. decidiste no preguntar, pero si asumiste que era posible...

si ya sabías, ¿porque lo hacías?

si querías saber, ¿porque no preguntaste bien?

tu planteamiento inicial jamás fue una pregunta, de haber sido así la respuesta sería la misma: php se ejecuta en el servidor, de modo que no puedes acceder a nada del cliente...

PDTA: perdón por mi mala educación, ¿y la tuya?
ok entonce por lo que estoy entendiendo, tendria que subir el archivo a una carpeta del servidor y en el servidor procesarlo y despues devolverlo al cliente, es correcto mi planteamiento. ??????? te vuelvo a insistir soy novato

Última edición por computer_si; 23/02/2011 a las 12:25 Razón: respuesta incompleta
  #6 (permalink)  
Antiguo 23/02/2011, 12:32
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: Funcion dir() problemas en cliente

Así es todos los ambientes web funcionan así, es por eso que tienes que comprender lo básico de la arquitectura cliente/servidor, necesitas subir el archivo al server, hacer los procesos y luego ofrecerle al cliente el resultado.

Saludos.
  #7 (permalink)  
Antiguo 23/02/2011, 12:33
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Funcion dir() problemas en cliente

Nada en php está de sobra, no es inútil obtener información de un directorio en el servidor.
Por otra parte a tu pregunta sí, si necesitas un archivo del cliente, primero debes enviarlo (upload) al servidor para procesarlo.
  #8 (permalink)  
Antiguo 23/02/2011, 12:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

Cita:
Iniciado por ocp001a Ver Mensaje
Nada en php está de sobra, no es inútil obtener información de un directorio en el servidor.
Por otra parte a tu pregunta sí, si necesitas un archivo del cliente, primero debes enviarlo (upload) al servidor para procesarlo.
Ok no tendria problemas ya que los archivos como ya dije son txt y son muy pequeños, otra pregunta con upload lo subo al servidor, lo proceso y despues como lo regreso al cliente, sobreescribiendo el archivo del lado del cliente no me marcaria error ???
  #9 (permalink)  
Antiguo 23/02/2011, 12:44
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

Cita:
Iniciado por ocp001a Ver Mensaje
Nada en php está de sobra, no es inútil obtener información de un directorio en el servidor.
Por otra parte a tu pregunta sí, si necesitas un archivo del cliente, primero debes enviarlo (upload) al servidor para procesarlo.
claro ya teniendo los archivos en el servidor pues si sirve. gracias
  #10 (permalink)  
Antiguo 23/02/2011, 14:30
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: Funcion dir() problemas en cliente

Tendrías que presentarle al usuario el link para descargar, ya que estas igual limitado por lo mismo, no puedes reemplazar ningún archivo del cliente.

Saludos.
  #11 (permalink)  
Antiguo 23/02/2011, 19:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

ok ya logro subir el archivo al servidor y procesarlo, me podrian ayudar diciendome como lo regreso al equipo del cliente ok entiendo que poniendole un href o algo asi ????
  #12 (permalink)  
Antiguo 24/02/2011, 11:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Funcion dir() problemas en cliente

No puedes "enviar" directamente el archivo al cliente, lo que puedes hacer son dos cosas:
1. Ofreces un link (<a href>) al archivo procesado
2. Llamas en una ventana aparte a un script que ofrezca la descarga en automático, mediante headers:
Código PHP:
Ver original
  1. <?php
  2.     header("Pragma: public");
  3.     header("Expires: 0");
  4.     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  5.     header("Cache-Control: private",false);
  6.     header("Content-Description: File Transfer");
  7.     header("Content-Type: application/force-download");
  8.     header("Content-Disposition: attachment; filename=archivo_procesado.txt");
  9.         echo "Contenido del archivo txt";
  10. ?>
  #13 (permalink)  
Antiguo 24/02/2011, 12:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

ok lo que pasa es que con ref, me abre el archivo en internet explorer y lo que yo quiero es bajarlo.
la opcion 2 que pones como la implemento, tengo que poner una opcion que llame a otro archivo php donde pondria los headers ???


Cita:
Iniciado por ocp001a Ver Mensaje
No puedes "enviar" directamente el archivo al cliente, lo que puedes hacer son dos cosas:
1. Ofreces un link (<a href>) al archivo procesado
2. Llamas en una ventana aparte a un script que ofrezca la descarga en automático, mediante headers:
Código PHP:
Ver original
  1. <?php
  2.     header("Pragma: public");
  3.     header("Expires: 0");
  4.     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  5.     header("Cache-Control: private",false);
  6.     header("Content-Description: File Transfer");
  7.     header("Content-Type: application/force-download");
  8.     header("Content-Disposition: attachment; filename=archivo_procesado.txt");
  9.         echo "Contenido del archivo txt";
  10. ?>
  #14 (permalink)  
Antiguo 25/02/2011, 08:21
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Funcion dir() problemas en cliente

quiero agradecer a todos los que colaboraron y porque no tambien a los que no aportaron nada, ya resolvi mi problema y ya esta funcionando mi aplicacion.

Etiquetas: cliente, dir, funcion
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 18:21.