Foros del Web » Programando para Internet » PHP »

Directorio

Estas en el tema de Directorio en el foro de PHP en Foros del Web. Tengo la siguiente estructura dentro de la carpeta donde están los mis scripts. Estructura: Cita: directorioraiz/ carpetaimagenes/ carpetathumbnails/ script1.php script2.php entonces el script que estoy ...
  #1 (permalink)  
Antiguo 07/02/2005, 00:11
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Directorio

Tengo la siguiente estructura dentro de la carpeta donde están los mis scripts.
Estructura:
Cita:
directorioraiz/
carpetaimagenes/
carpetathumbnails/
script1.php
script2.php
entonces el script que estoy programando para leer el contenido del directorio es este:
Código PHP:
 function ListDirectory(){
  global 
$directorio$dirthumb;
  
$path pathinfo($_SERVER['PATH_TRANSLATED']);
  
$pathtodir $path['dirname'];
  
$i $b 0;
  if(
is_dir($pathtodir.$directorio)){
   if(
$ab opendir($pathtodir.$directorio)){
    echo 
"<table width=\"100%\" cellspace=\"0\" cellpadding=\"0\">";
    while((
$file readdir($ab))!==false){
     if(!
is_dir($file)){
      
$i += 1;
      
$extension explode(".",$file);
      
$num count($extension)-1;
      
$extension[$num] = strtolower($extension[$num]);
      if ((
$extension[$num]!="jpg")&&($extension[$num]!= "gif")&&($extension[$num]!="php")&&($extension[$num]!="htm")&&($extension[$num]!= "html")&&($extension[$num]!="mp3")&&($extension[$num]!="wav")&&($extension[$num]!="txt")){
       
$extension[$num] = "dist";
      }
      echo 
"<tr>"
            
."<td>$extension[$num]</td>"
            
."<td width=210><a href=\"\">$file</a></td>"
            
."<td align=right><input type=\"checkbox\" value=\"$dir$file\" name=\"image[]\"></td>"
           
."</tr>";
     }elseif(
is_dir($file)){
      echo 
"<tr>"
            
."<td>dir</td>"
            
."<td><B>$file</B></td>"
            
."<td align=right>CARPETA</td>"
            
."</tr>";
      
$b += 1;
    }
   }
   echo 
"</table>";
  
closedir($ab);
  }
 }
 echo 
"<span class=\"fontb\">La carpeta contiene: <B>$i </B> archivos y <B>$b </B> carpetas<br><br></span>";
 } 
cuando lista el contenido de la carpeta no quiero que me salga de esta forma:
Cita:
dir . CARPETA
dir .. CARPETA
jpg PICT0034.JPG
jpg PICT0035.JPG
dist thumbnails
La carpeta contiene: 3 archivos y 2 carpetas
sino que me salga de esta otra forma:
Cita:
jpg PICT0034.JPG
jpg PICT0035.JPG
dist thumbnails CARPETA
La carpeta contiene: 3 archivos y 2 carpetas
alguna ayuda ??
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 07/02/2005, 00:27
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
no se si te entendi bien.... lo que no queres que aparesca son los . y .. ???

si es asi tendrias que poner algo como:

.
.
.

}elseif(is_dir($file)){
if ($file != "." AND $file != ".."){
echo "<tr>"
."<td>dir</td>"
."<td><B>$file</B></td>"
."<td align=right>CARPETA</td>"
."</tr>";
$b += 1;
}
}
.
.
.
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 07/02/2005, 09:21
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Sip pero ...

Esa opción ya la había pensado antes pero eso es porque la carpeta está dos directorios afuera, o sea,
Cita:
dir1
dir2
pero imagina si estuviera 10 directorios para adentro ??

Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 07/02/2005, 09:37
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 7
Te recomiendo hecharle una ojeada a la pagina del manual de referencia del PHP (www.php.net) en esa pagina salen muchos ejemplos de como puedes hacer un listado de directorios.

http://cl2.php.net/manual/en/function.readdir.php

Saludos
__________________
=PoWeReD By MySeLf!=
  #5 (permalink)  
Antiguo 07/02/2005, 09:51
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
Cita:
Iniciado por Reynier
Esa opción ya la había pensado antes pero eso es porque la carpeta está dos directorios afuera, o sea,

pero imagina si estuviera 10 directorios para adentro ??

Salu2
no estoy 100% seguro pero creo que no es como vos decis. El . hace referencia al directorio actual y el .. hace referencia al directorio anterior (el que contiene el actual) y siempre se te van a mostrar esos dos, sin importar la cantidad de directorios. Seria cuestion de probar y ver que pasa.
__________________
oohh... quisiera ser godines!!!
  #6 (permalink)  
Antiguo 07/02/2005, 10:07
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 7
----
" El . hace referencia al directorio actual y el .. hace referencia al directorio anterior (el que contiene el actual) y siempre se te van a mostrar esos dos, sin importar la cantidad de directorios"
-----
Exacto, siempre van a ir esos dos elementos que son de tipo DIRECTORIO.
__________________
=PoWeReD By MySeLf!=
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 12:40.