Foros del Web » Programando para Internet » PHP »

recorre raiz de un directorio y despues los subdirectorios

Estas en el tema de recorre raiz de un directorio y despues los subdirectorios en el foro de PHP en Foros del Web. Hola amigos estoy haciendo un visualizador de imagenes lo que hago es recorrer todo el directorio principal el detalle es que quiero visualizar lo que ...
  #1 (permalink)  
Antiguo 08/05/2006, 12:04
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
recorre raiz de un directorio y despues los subdirectorios

Hola amigos estoy haciendo un visualizador de imagenes
lo que hago es recorrer todo el directorio principal

el detalle es que quiero visualizar lo que halla en algunos subdirectorios
ejemplo

raiz
foto
foto
foto

Directorio1
foto
foto
foto
foto
foto
Directorio/Otras
foto
foto
foto
foto

y asi sucesivamente

este es mi scrip actual

solo recorro la raiz

<?php
$usuario="gpacheco";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE> Images </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="cargar.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<div id="albums">
<div id="minimagenes">
<?php
/*
Nota lokisima: para poder usar el comando
mime_content_type en windows
hay que hacer lo siguiente...

1.-buscar la ruta del archivo magic.mime
que se encuentra en C:\php\extras\

2.-habilitar la extencion
extension=php_mime_magic.dll
en tu php.ini

3.-agregar estas lineas al php.ini
al final del archivo php.ini

[mime_magic]
mime_magic.debug = On
mime_magic.magicfile = "C:\php\extras\magic.mime"

*/



//tipos de archivos que captura la variable $tipo
/*
ICO - icono de Windows
CUR - cursor de Windows
BMP - Windows Bitmap
GIF - Compuserve Graphics Interchange Format
JPG - imagen JPEG JFIF
PNG - Portable Network Graphics
PCX - imagen ZSoft Publisher's Paintbrush
PSD - imagen de Adobe Photoshop
TGA - imagen Truevision Targa
WMF - metafichero de Windows
EMF - metafichero mejorado de Windows
WBMP - Wireless Bitmap
XBM - X Bitmap
XPM - X Pixmap
ICL, EXE, DLL, SCR, IL, NIL y otras librerías de iconos

valor-------tipo de imagen
1 = GIF
2 = JPG
3 = PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF(intel byte order)
8 = TIFF(motorola byte order)
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM
*/

//ruta del ImageMagick
$rutaconver="c:\ImageMagick-6.2.7-Q16\convert.exe";

//ruta de respaldo
$destino="../Tem_th/";

//definimos el nombre del script que genera los thumails
$thumnail = 'prueba2.php';

//definimos el ancho de las imagenes
$width = 120;
$height = 120;

//definimos el nombre del directorio en el que se encuentran las imágenes
$path = '../imagenes/';
$dir = opendir($path);

//leemos el contenido del directorio
while ($file = readdir($dir))
{
//tipo de archivo
$tipo=mime_content_type($path.$file);
$validar=explode('/',$tipo);

list($ani, $ali, $ext, $atr)=getimagesize($path.$file);

if(($file!='.')&&($file!='..')&&($validar[0]=='image'))
{
if(eregi($ext,"6||7||8"))
{
//"tiff encontrado";
$origen=$path.$file;
$soloname=explode(".",$file);
$thum_temporal=$destino."temp_".$usuario."_".$solo name[0].".jpg";

system("$rutaconver $origen $thum_temporal");
echo '<IMG SRC="'.$thumnail.'?filename='.$thum_temporal.'" WIDTH="'.$width.'" HEIGHT="'.$height.'" BORDER="1" HSPACE="8" VSPACE="8" style="border-color: #9292C9">';
}
else
{
//se imprime la visualizacion miniatura (thumnail) bien loka
//echo '<A HREF="'.$path.$file.'" TARGET="_blank">';
//colocamos la imagen con ruta al script que genera los gráficos preliminares
//echo '<IMG SRC="'.$thumnail.'?filename='.$path.$file.'&width= '.$width.'&height='.$height.'" WIDTH="'.$width.'" HEIGHT="'.$height.'" BORDER="1" HSPACE="8" VSPACE="8">';
echo '<IMG SRC="'.$thumnail.'?filename='.$path.$file.'" WIDTH="'.$width.'" HEIGHT="'.$height.'" BORDER="1" HSPACE="8" VSPACE="8" style="border-color: #9292C9">';
//echo '</A>';
}


}
}
//cerramos el directorio
closedir($dir);
?>
</div>
</div>
</BODY>
</HTML>

espero sus comentarios

saludos y gracias
__________________
gerardo
  #2 (permalink)  
Antiguo 08/05/2006, 12:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En PHP.net tienes ejemplos de funciones que leen directorios en forma recursiva:

Fijate en los comentarios de los usuarios de esas funciones:
http://www.php.net/dir
http://www.php.net/manual/es/function.readdir.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 08/05/2006, 12:15
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa ok cluster

Gracias cluster
vere que los ejemplos

saludos
__________________
gerardo
  #4 (permalink)  
Antiguo 10/05/2006, 10:53
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa una solucion

hola amigos encontre una solucion
en la pagina de php
para que solo obtenga solo los subdirectorios de una directorio
le hice unos cambios

saludos

<?
$path = '../Imagenes/';



function arbol($dir)
{
global $subdirectorios;
$d = opendir($dir);
while (false !== ($entry = readdir($d)))
{
if($entry != '.' && $entry != '..' && is_dir($dir.$entry))
{
$subdirectorios[]=$dir.$entry.'/';
arbol($dir.$entry.'/');
//echo $dir.$entry.'/'."<br>";
}
}
closedir($d);
return $subdirectorios;

}



$dir = $path;
$subdirectorios[]=$dir;
$arbol=arbol($dir);

for ($i=0;$i<count($arbol);$i++)
{
echo $arbol[$i]."<br>";
//aqui pondria el codigo que recorre el directorio y mostrar los archivos
}
?>
__________________
gerardo
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:40.