Foros del Web » Programando para Internet » PHP »

crear un array con los nombres de los archivos de un directorio

Estas en el tema de crear un array con los nombres de los archivos de un directorio en el foro de PHP en Foros del Web. hola, pues eso... que como hago un array donde queden registrado el nombre de todos los archivos que hay en un directorio que no se ...
  #1 (permalink)  
Antiguo 01/11/2003, 13:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
crear un array con los nombres de los archivos de un directorio

hola, pues eso... que como hago un array donde queden registrado el nombre de todos los archivos que hay en un directorio que no se cuantos archivos hay ni cuales son...
se me ha entendido? (no me explico mu bien :P )
  #2 (permalink)  
Antiguo 01/11/2003, 14:30
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 4 meses
Puntos: 5
Te dejo el siguiente codigo que utilice para el articulo sobre PHP-GTK, para crear un visor de archivos y directorios, la funcion lo que hace es carcar en un array los direcotorios y en otro los archivos pasalandole como argumento a la funcion un directorio.

Código PHP:
class Archivos {
var 
$dirPath;
function 
cargar_dir($ruta="")
{
 
$this->dirPath  "/";

 if(
gettype($ruta) != "object")
 {
  
$this->dirPath $ruta;
 }

 
$directorios = array();
 
$archivos    = array();
  
 
sort($directorios);
 
sort($archivos);
 
reset($directorios);
 
reset($archivos);
 
$handle opendir($this->dirPath);
 while (
$file readdir($handle))
 {
  if(
is_dir($this->dirPath.$file))
  {
   
$directorios[] = $file;
  }
  elseif(
is_file($this->dirPath.$file))
  {
   
$archivos[] = $file;
  }
 }
 
closedir($handle);
}

Es una clase tan solo tienes que hacer:
Código PHP:
$archivos = new Archivos;
$archivos->cargar_dir("/"); 
O si solo quieres la funcion en vez de hacer uso de la variable de clase $dirPath, crea un variable global con el mismo nombre y modifica el codigo.

Para ordenar las matrizes tan solo tieens que hacer uso de la funcion array_multisort()

Saludos
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 01/11/2003, 14:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
mmmm... vale... pero yo no entiendo muxo PHP-GTK ... intentare probarlo...

pero alguien me podria decir como se podria hacer con PHP asecas?

(otra cosa... yo solo quiero los archivos de 1 directorio)

gracias de todos modos.... (no soy muy experto que digamos :P )

Última edición por cards; 01/11/2003 a las 14:58
  #4 (permalink)  
Antiguo 01/11/2003, 15:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
sera mejor que concrete.....
quiero que en un menu despegable me salgan como opciones los nombres de todos los archivos que hay en un directorio...

espero haber aclarado mas lo que quiero

(y tambien quiero en una pagina que me salgan en vez de las opciones, un link detras de otro, pero si me dicen lo primero creo que ya sabre hacer esto ultimo...)
  #5 (permalink)  
Antiguo 01/11/2003, 15:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

El codigo que te ha puesto epplestun es PHP a secas. No usa nada de GTK. Asi que pruebalo.

Tambien puedes aprender mirando en el manual las funciones que usa: opendir(), readdir().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 01/11/2003, 17:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Y en el objeto predefinido dir() tambien puedes ver ejemplos.

www.php.net/dir

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 01/11/2003 a las 17:40
  #7 (permalink)  
Antiguo 01/11/2003, 17:44
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 4 meses
Puntos: 5
jeje como te dijo josemi mi codigo es PHP a secas, si haces uso del codigo y lo analizas veras que te sera muy sencillo hacer uso de el con el metodo cargar_dir de la clase y por una parte tendras los directorios y los archivos ... por cierto ... mirate el objeto dir de PHP
__________________
Usuario registrado de Linux #288725
  #8 (permalink)  
Antiguo 01/11/2003, 18:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias a todos....
y gracias cluster por el enlace.. ahi he encontrado una funcion que hace lo que pedia...
la funcion es Scandir()

:P
  #9 (permalink)  
Antiguo 01/11/2003, 18:34
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
vaya... :P me di cuenta de que es solo para php 5.... v_v

una pregunta... los hostings que soportan php habran actualizado ya a 5? pq sino mejor que no utilize esta funcion....
v_v
  #10 (permalink)  
Antiguo 02/11/2003, 15:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

PHP5 "todavia" es BETA, no apto para produccion. Y teniendo en cuenta que hay hostings muy perezosos a la hora de actualizarse, mejor espera un poco y haz una funcion que haga exactamente lo que hace esa (que no creo que sea muy dificil).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 03/11/2003, 08:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
(En los comentarios de los usuarios de cada función suelen salir alternativas para la gente que no disfruta de la versión en cuestión que funciona par otras versiónes inferirores. Esto es sólo como norma general .. revisalo igual tienes suerte y alguíen ya lo hizo por ti).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 03/11/2003, 08:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
En este caso esta en la misma descripcion de la funcion (en la version en ingles por lo menos).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 15/09/2004, 16:16
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
eplestum ¿puedes explicarme un poco mas la funcion q pusiste aqui y como personalizarla?ya la he probado pero no me resulta,¿me puedes ayudar?
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:52.