Foros del Web » Programando para Internet » PHP »

cargar directorios y subdirectorios

Estas en el tema de cargar directorios y subdirectorios en el foro de PHP en Foros del Web. Hola que tal. vereis, tengo este codigo que lee las imagenes de un directorio y las pasa a un array. Código: function returnimages($dirname = "./img/") ...
  #1 (permalink)  
Antiguo 09/05/2012, 14:39
 
Fecha de Ingreso: mayo-2012
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 0
cargar directorios y subdirectorios

Hola que tal.
vereis, tengo este codigo que lee las imagenes de un directorio y las pasa a un array.

Código:
function returnimages($dirname = "./img/") {
   $pattern="\.(jpg|jpeg|png|gif|bmp)$";
   $files = array();
   $curimage=0;
   if($handle = opendir($dirname)) {
       while(false !== ($file = readdir($handle))){
               if(eregi($pattern, $file)){
                 echo 'myimages[' . $curimage .']="' . $dirname . $file . '";' . "\n";
                 $curimage++;
               }
       }

       closedir($handle);
   }
   return($files);
}
El caso es que me gustaria que cogiera tambien las imagenes de los subdirectorios.

¿Alguien podria ayudarme por favor?

Muchas gracias

Un saludo
  #2 (permalink)  
Antiguo 09/05/2012, 15:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: cargar directorios y subdirectorios

Necesitaria hacer lo mismo para esta funcion, pero me temo que se me queda grande.

Agradeceria vuestra ayuda


Código:
<?php
/* PHP file, e.g. scanImageDirectory.json.php */
 
// Check that a callback function has been specified:
if (!isset($_GET['callback']) || !isset($_GET['directory'])) exit;
 
// Use PHP5's scandir function to scan all

// of images directory:
$dirContents = scandir($_GET['directory']);
 
// Define function to confirm each
// filename is a valid image name/extension:
function isImageFile($src) {
    return preg_match('/^.+\.(gif|png|jpe?g|bmp|tif)$/i', $src);
}
 
// Loop through directory files and add to
// $arrayContents on each iteration:
$arrayContents = '';
foreach($dirContents as $image) {
    if (isImageFile($image)) {
        $arrayContents .= !empty($arrayContents) ? ',' : '';
        $arrayContents .= '"' . 'images/' . $image . '"';
    }
}
 
// Prepate JSON(P) output
$output = $_GET['callback'] . '({\'images\':[' . $arrayContents . ']});';
 
// Output the output:
echo $output;
?>
  #3 (permalink)  
Antiguo 10/05/2012, 04:58
 
Fecha de Ingreso: mayo-2012
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: cargar directorios y subdirectorios

He buscado en google y he topado este codigo que hace mas o menos lo que necesito: solo que listan todos los archivos y no solo imagenes.

Código:
<?php
function listar_directorios_ruta($ruta){ 
// abrir un directorio y listarlo recursivo 
if (is_dir($ruta)) { 
if ($dh = opendir($ruta)) { 
while (($file = readdir($dh)) !== false) { 
//esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio 
//mostraría tanto archivos como directorios 
echo "<br><b>Nombre de archivo:</b> $file : Es un: " . filetype($ruta . $file); 
if (is_dir($ruta . "/" . $file) && $file!="." && $file!=".."){ 
//solo si el archivo es un directorio, distinto que "." y ".." 
echo "<br><br><b>Directorio:</b> $ruta$file<br>"; 
listar_directorios_ruta($ruta ."/". $file . "/"); 
} 
} 
closedir($dh); 
} 
}else 
echo "<br>No es ruta valida"; 
}
listar_directorios_ruta('images/')
?>
Alguien podria ayudarme a adaptarlo a los codigos de arriba por favor.?

Estaria muy agradecido.

Aparte me gustaria preguntar unas dudas.

Este codigo que acabo de poner escupe lo siguiente:

Cita:
Nombre de archivo: . : Es un: dir
Nombre de archivo: .. : Es un: dir
Nombre de archivo: images : Es un: dir

Directorio: images/images

Nombre de archivo: . : Es un: dir
Nombre de archivo: .. : Es un: dir
Nombre de archivo: osmbanner1.png : Es un: file
Nombre de archivo: osmbanner2.png : Es un: file
Nombre de archivo: shop-ad-books.jpg : Es un: file
Nombre de archivo: shop-ad.jpg : Es un: file
Nombre de archivo: osmbanner1.png : Es un: file
Nombre de archivo: osmbanner2.png : Es un: file
Nombre de archivo: shop-ad-books.jpg : Es un: file
Nombre de archivo: shop-ad.jpg : Es un: file
¿Que son este tipo de lineas que muestran un punto y dos puntos seguidos? porque las muestra?

[quote]Nombre de archivo: . : Es un: dir
Nombre de archivo: .. : Es un: dir


Muchas gracias

Un saludo

Etiquetas: directorios, imagenes, subdirectorios
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 10:00.