Foros del Web » Programando para Internet » PHP »

se pierde la condicional al leer subdirectorio

Estas en el tema de se pierde la condicional al leer subdirectorio en el foro de PHP en Foros del Web. loading.......... De esta manera "trato" de listar todos los directorios y subdirectorios de mi web. Código PHP: <?php                       //leer directorio raiz                       echo "                      <form ENCTYPE='multipart/form-data' ACTION='?user_get=admin-[edit]_files' METHOD='POST'>                      <select class='input' type='select' name='accion'> ...
  #1 (permalink)  
Antiguo 11/05/2004, 17:02
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
se pierde la condicional al leer subdirectorio

loading..........



De esta manera "trato" de listar todos los directorios y subdirectorios de mi web.

Código PHP:
<?php
                     
//leer directorio raiz
                     
echo"
                     <form ENCTYPE='multipart/form-data' ACTION='?user_get=admin-[edit]_files' METHOD='POST'>
                     <select class='input' type='select' name='accion'>
                     <option name='accion' value='editar'>Editar archivo</option>
                     <option name='accion' value='rename'>Renombrar archivo</option>
                     <option name='accion' value='erase'>Eliminar archivo</option>
                     <option name='accion' value='copiar'>Copiar archivo</option>
                     </select>
                     <font color='$letra_central'> Selecciona la accion.<br>
                     /root/
                     <select class='input' type='select' name='filename'>"
;
                     
$raiz=opendir('.');
                     while (
$archivillos readdir($raiz)) {
                     if(
$archivillos != '..' && $archivillos !='.' && $archivillos !=''){
                     if (
is_dir($archivillos)){
                     }
                     else{
                     echo 
"<option name='filename' value='$archivillos'>$archivillos</option>";
                     }
                     }
                     }
                     echo
"</select>
                     <INPUT class='boton' TYPE='submit' NAME=gb VALUE='Abrir archivo'>
                     <INPUT TYPE=hidden NAME='id'  VALUE='.'>

                     </form></font>
                     "
;

                     
//fin de leer directorio raiz

                      //abrir directorios
                     
$rep=opendir('.');
                     while (
$dirname readdir($rep)) {
                     if(
$dirname != '..' && $dirname !='.' && $dirname !=''){
                     if (
is_dir($dirname)){
                     echo
"
                     <form ENCTYPE='multipart/form-data' ACTION='?user_get=admin-[edit]_files' METHOD='POST'>
                     <select class='input' type='select' name='accion'>
                     <option name='accion' value='editar'>Editar archivo</option>
                     <option name='accion' value='rename'>Renombrar archivo</option>
                     <option name='accion' value='erase'>Eliminar archivo</option>
                     <option name='accion' value='copiar'>Copiar archivo</option>
                     </select>
                     <font color='$letra_central'> Selecciona la accion.<br>
                     /$dirname/
                                  <select class='input' type='select' name='filename'>"
;
                                  
$handle=opendir($dirname);
                                  while (
$filename readdir($handle)) {
                                  if(
$filename != '..' && $filename !='.' && $filename !=''){
                                  if (
is_dir($filename)){
                                  }
                                  else{
                                  echo 
"
                                  <option name='filename' value='$filename'>$filename</option>"
;
                                  }
                                  }
                                  }
                                  echo
"</select>
                                 <INPUT class='boton' TYPE='submit' NAME=gb VALUE='Abrir archivo'>
                                 <INPUT TYPE=hidden NAME='id'  VALUE='$dirname'>
                                 </form></font>
                                  "
;
                      }
                     }
                     }
                     
closedir($rep);
                     
clearstatcache();
                      
//fin de abrir directorio
                      
?>

Me funciona perfecto pero solo para leer los directorios osea el contenido lo muestro en un select pero quiero leer tambien toodos los subdirectorios.
Para eso pongop mi condicion.

Si el archivo que leo del directorio es un directorio entonces abro otro bucle para mostrar todos sus elementos y si uno de ellos es tambien directorio vuelvo a hacerlo.

Pero ya ejecutandolo no reconoce ningun archivo como directorio

Código PHP:
 <font color='$letra_central'Selecciona la accion.<br>
                     /
$dirname/
                                  <
select class='input' type='select' name='filename'>";
                                  $handle=opendir($dirname);
                                  while ($filename = readdir($handle)) {
                                  if($filename != '..' && $filename !='.' && $filename !=''){
                                  if (is_dir($filename)){
                                  }
                                  else{
                                  echo "
                                  
<option name='filename' value='$filename'>$filename</option>";
                                  }
                                  }
                                  }
                                  echo"
</select>
                                 <
INPUT class='boton' TYPE='submit' NAME=gb VALUE='Abrir archivo'>
                                 <
INPUT TYPE=hidden NAME='id'  VALUE='$dirname'>
                                 </
form></font>
                                  
"; 

Simplemente pasa de largo y el nombre del directorio lo muestra en el SELECT cosa que no tendria que pasar porque en el SELECT solo tendrian que mostrarse los ARCHIVOS y no asì directorios.

Lei en el manual algo de CLEAROOBCACHE(); creo o está mal escrito no lo recuerdo en este momento.
Como puedo mejorar el codigo? para leer subdirectorios?
gracias.


connection closed.
__________________

Maborak Technologies

Última edición por MaBoRaK; 11/05/2004 a las 17:12
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 22:32.