Foros del Web » Programando para Internet » PHP »

Como mostrar archivos de una carpeta con php

Estas en el tema de Como mostrar archivos de una carpeta con php en el foro de PHP en Foros del Web. Buenas a todos, tengo un problema con el manejo de ficheros en php Lo que necesito es cargar unos xml desde una carpeta pero necesito ...
  #1 (permalink)  
Antiguo 06/10/2011, 08:24
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Como mostrar archivos de una carpeta con php

Buenas a todos, tengo un problema con el manejo de ficheros en php

Lo que necesito es cargar unos xml desde una carpeta

pero necesito hacer una busqueda de coincidencias del archivo

Por ejemplo los archivos quedan asi en la carpeta:


hc_0000759333_074334
hc_0000759333_085009

Yo paso como parametro el 0000759333 y a partir de ese parametro necesito mostrar los dos posibles archivos a cargar: el 074334 o el 085009

Mi pregunta es como podria hacer esto?

Yo abro el archivo :

Código PHP:
Ver original
  1. $archivo = fopen("hc_".$ingreso.".xml", 'w+');
  2. //donde $ingreso es 0000759333

pero como hago para encontrar las dos opciones de archivo??

Agradezco me puedan guiar o enviar algun link de ejemplo....

Muchas gracias
  #2 (permalink)  
Antiguo 06/10/2011, 08:30
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Como mostrar archivos de una carpeta con php

Algo asi podria servirte, solo tendrias que cambiar la regular expresion a tu gusto :)

Código PHP:
Ver original
  1. <?php
  2.  
  3. // Abrir un directorio conocido, y proceder a leer sus contenidos
  4. if (is_dir('carpeta')) {
  5.     $gd = opendir('carpeta');
  6.     while ($archivo = readdir($gd)) {
  7.         if (preg_match('/^(hc_)'.$parametro.'.{7}(\.xml)$/', $archivo)) {
  8.             echo  "$archivo <br/>";
  9.         }
  10.     }
  11.     closedir($gd);
  12. }
  13. ?>

Analicemos esta linea
Código PHP:
Ver original
  1. preg_match('/^(hc_)'.$parametro.'.{7}(\.xml)$/', $archivo)

^(hc_) los archivos que comiencen con eso
$parametro que sigan con tu parámetro
.{7} que sica gon 7 caracteres cualquiera
(\.xml)$ y que termine con .xml

Esto es lo que buscas?
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Última edición por h2swider; 06/10/2011 a las 08:47
  #3 (permalink)  
Antiguo 06/10/2011, 08:48
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como mostrar archivos de una carpeta con php

Una pregunta, la ruta de la carpeta la colocaria en esta linea?:

$gd = opendir('carpeta');

Mi ruta es: C:\AppServ\www\dev\intranet
  #4 (permalink)  
Antiguo 06/10/2011, 08:52
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Como mostrar archivos de una carpeta con php

Que tal oscarbt,

Hace poco hicieron una pregunta similar, te dejo la referencia http://www.forosdelweb.com/f18/busca...ombres-948213/

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 06/10/2011, 08:52
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Como mostrar archivos de una carpeta con php

Si, pero ten en cuenta que debes usar estas barras /

Puedes usar glob como mencionan en el link del post anterior, aunque perderías potencia de patrón al buscar.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 06/10/2011, 08:58
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como mostrar archivos de una carpeta con php

Ok Ok, he armado el codigo asi:

Código PHP:
Ver original
  1. $ingreso=$_POST['ing'];
  2. if(is_dir('C:\AppServ\www\dev\intranet\histoclin'))
  3. {
  4. $gd=opendir('C:\AppServ\www\dev\intranet\histoclin');
  5. while ($archivo=readdir($gd))
  6. {
  7. if(preg_match('/^(hc_)'.$ingreso.'.{6}(\.xml)$/', $archivo))
  8. {
  9.   echo $archivo."</br>";
  10. }
  11. }
  12. }

Pero no me muestra resultados......
Y esa es la carpeta donde tengo los achivos xml
  #7 (permalink)  
Antiguo 06/10/2011, 09:02
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Como mostrar archivos de una carpeta con php

Cita:
Iniciado por oscarbt Ver Mensaje
Ok Ok, he armado el codigo asi:

Código PHP:
Ver original
  1. $ingreso=$_POST['ing'];
  2. if(is_dir('C:\AppServ\www\dev\intranet\histoclin'))
  3. {
  4. $gd=opendir('C:\AppServ\www\dev\intranet\histoclin');
  5. while ($archivo=readdir($gd))
  6. {
  7. if(preg_match('/^(hc_)'.$ingreso.'.{6}(\.xml)$/', $archivo))
  8. {
  9.   echo $archivo."</br>";
  10. }
  11. }
  12. }

Pero no me muestra resultados......
Y esa es la carpeta donde tengo los achivos xml
Te dije, las barras que tienes que usar son / no las invertidas

C:/AppServ/www/dev/intranet/histoclin

Y esto es .{7} no 6, porque son 6 números y un guion bajo, en total 7 caracteres.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #8 (permalink)  
Antiguo 06/10/2011, 09:06
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como mostrar archivos de una carpeta con php

Si, que pena con vos , era error mio, las barras me funcionan de cualquiera de los dos modos....Muchas gracias.............
  #9 (permalink)  
Antiguo 06/10/2011, 09:42
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como mostrar archivos de una carpeta con php

Tengo una ultima pregunta: Como puedo mostrar unicamente los archivos del dia...que la ultima modificacion haya sido en el dia actual?..
  #10 (permalink)  
Antiguo 06/10/2011, 10:46
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Como mostrar archivos de una carpeta con php

filemtime. Esta función recibe como parámetro la ruta o el nombre del fichero y nos devuelve la hora en formato UNIX en la que fue modificado por última vez.

Fuente http://emilio.aesinformatica.com/200...de-un-archivo/

Googlear no hace mal.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: carpetas
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 11:21.