Foros del Web » Programando para Internet » PHP »

como leer el copntenido de una carpeta?

Estas en el tema de como leer el copntenido de una carpeta? en el foro de PHP en Foros del Web. con q funciones puedo leer una carpeta y hacer un bucle q imprima sus nombres? lo importante es q pueda filtrar solo directorios (osea, q ...
  #1 (permalink)  
Antiguo 12/03/2003, 15:27
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 4 meses
Puntos: 4
como leer el copntenido de una carpeta?

con q funciones puedo leer una carpeta y hacer un bucle q imprima sus nombres?

lo importante es q pueda filtrar solo directorios
(osea, q si la carpeta "objetivo" tiene cualkier contenido solo se vean las subcarpetas
__________________
Blog | Tecnosquad
  #2 (permalink)  
Antiguo 12/03/2003, 15:53
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 2 meses
Puntos: 0
opendir

esto creo que te ayudara, es un codigo que lee el contenido de un directoro dado (users)
$open=opendir ("users");
while ($files=readdir($open)){
$filename="users/". $files;
if (is_file($filename)){
$size=filesize("users/$files");
print("<TR><TD>$files</TD><TD>$size</TD></TR> ...........\n");
}
}closedir($open);[/PHP]
  #3 (permalink)  
Antiguo 13/03/2003, 18:50
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 4 meses
Puntos: 4
gracias de todas formas
antes de leer la resp. lo había encontrado.

Código PHP:
<?php 
if ($handle opendir('.')) {
    while (
false !== ($file readdir($handle))) { 
        if (
is_dir($file) && $file != "." && $file != "..") { 
            echo 
"<a href=$file>$file</a> <br>"
        } 
    }
closedir($handle); 
}
?>
ahora necesito una pequeña ayudita con el bucle,
debo por un valor q se autoincemente en 1 por cada vez q se "de vuelta".
como?
__________________
Blog | Tecnosquad
  #4 (permalink)  
Antiguo 13/03/2003, 19:18
 
Fecha de Ingreso: febrero-2002
Ubicación: ¿donde vivo? pues en mi casa, ¿donde voy a vivir?...
Mensajes: 214
Antigüedad: 22 años, 1 mes
Puntos: 0
while (false !== ($file = readdir($handle))) {
eso es una paranoia q solo sirve para relentizar la cosa

while ($file=readdir($handle)) {

es lo correcto.
__________________
Linux, es para los que odian Microsoft/Windows, BSD, es para los que amamos *IX.
  #5 (permalink)  
Antiguo 14/03/2003, 17:11
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 4 meses
Puntos: 4
Cita:
Mensaje Original por NeBeRuS
while (false !== ($file = readdir($handle))) {
eso es una paranoia q solo sirve para relentizar la cosa

while ($file=readdir($handle)) {

es lo correcto.

ups, dp me di cuenta =P
es q copie el ejemplo directamente desde el manual de PHP.

pero como arreglo el bucle para q imprima un numero q se autoincremente con cada pasada y parta de 1?
__________________
Blog | Tecnosquad
  #6 (permalink)  
Antiguo 15/03/2003, 02:50
 
Fecha de Ingreso: febrero-2002
Ubicación: ¿donde vivo? pues en mi casa, ¿donde voy a vivir?...
Mensajes: 214
Antigüedad: 22 años, 1 mes
Puntos: 0
insertando una variable en el bucle, primero la muestras, y despues la incrementas.
__________________
Linux, es para los que odian Microsoft/Windows, BSD, es para los que amamos *IX.
  #7 (permalink)  
Antiguo 15/03/2003, 11:44
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 4 meses
Puntos: 4
ya, me va kedando algo asi el code, lo q pasa es q kiero poner cada carpeta en un form, como <option>,

aunque con otro lo logre, al kerer cambiar el nombre de la carpeta de "." a "mi carpeta", no devuelva nada, ni un valor, puke ?

Código PHP:
<?php 
$i 
;
if (
$handle opendir('.')) {
    while (
false !== ($file readdir($handle))) { 
        if (
is_dir($file) && $file != "." && $file != "..") { 
            echo
"";print $i++; echo"<a href=$file>$file</a> <br>"
            
        } 
    }
closedir($handle); 
}
?>
__________________
Blog | Tecnosquad
  #8 (permalink)  
Antiguo 15/03/2003, 12:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
El nombre del directorio ha de ser con ruta completa desde el raiz de tu servidor ..

no solo "mi carpeta" .. sino c:\nose\blablabla\micarpeta para windows o /var/nose/veteasaber/micarpeta en Linux ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 16/03/2003, 12:28
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 4 meses
Puntos: 4
OK Cluster, disculpa pero el error no estaba en el path al directorio (sorry =P )
el error esta en la condición
no se q puse al reves porque en vez de devolver un "falso" devuelve "verdadero".

Disculpen pero no entiendo muy bien como arreglarla para q solo muestre directorios y no archivos ni los "." y ".."

Código PHP:
<?php 
$i 
;
echo
"<form action=\"index_entrar.php\" method=\"get\" ><input type=\"hidden\" value=\"1\"><select name=\"entrar\" onchange=\"window.location=('index_entrar.php?entrar='+this.options[this.selectedIndex].value)\"><option value=\"default\">volver a ver intro</option>";
if (
$tpldir opendir("templates")) {
    while (
false !== ($template readdir($tpldir))) { 
        if (
is_dir($template) && $template != "." && $template != "..")
        {
            echo
"<option print $i++ value=\"$template\">$template</option>"
    }
}
echo
"</select></form>";
closedir($tpldir); 
}
?>
es q ya e pensao bastante pero no lo puedo arreglar
se les ocurre alguna idea?
__________________
Blog | Tecnosquad
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:34.