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.