Foros del Web » Programando para Internet » PHP »

Error con el readdir() !!!

Estas en el tema de Error con el readdir() !!! en el foro de PHP en Foros del Web. En fin ... estoy haciendo un script, que me muestra el contenido de una carpeta... si el contenido de la carpeta es otra carpeta, lo ...
  #1 (permalink)  
Antiguo 05/01/2006, 07:28
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
Error con el readdir() !!!

En fin ... estoy haciendo un script, que me muestra el contenido de una carpeta... si el contenido de la carpeta es otra carpeta, lo toma como categoria, y si es un archivo, genera un link hasta el mismo ...
por ejemplo :

la carpeta principal es A
y la carpeta A contiene B C D
y dentro de B estan los documentos 1.pdf, 2.pdf y 3.pdf
y asi suscesivamente ...

en un principio nunca me habia dado error, pero antes solo leia el contenido de la carpeta, no de las subcarpetas ...
hize el script pero me da un error de este tipo ..

Código:
 
Warning: readdir(): supplied argument is not a valid Directory resource in c:\wamp\www\joomlatest\documentos\index.php on line 22
 
Warning: closedir(): supplied argument is not a valid Directory resource in c:\wamp\www\joomlatest\documentos\index.php on line 30
Código PHP:
<table border="1" bordercolor="000000" cellspacing=0 align="center" width="100%"> 
<?php 
$host 
$_SERVER['HTTP_HOST']; 
$dirr=opendir('.');
$carpetas = array("1","2");
$i 0;
while (
$file=readdir($dirr)) {
    if (
$file != '..' && $file != '.' && $file != 'index.php' && $file != 'guia.pdf'){
        if (
is_dir($file)) {
            
$carpetas[$i] = $file;
            
$i++;
        }
    }
}
closedir($dirr);
$j=0;
while(
$j <= $i){
        
$dirr=opendir($carpetas[$j]);
        echo 
"<tr><td><B>".$carpetas[$j]."</B></td></tr>";
        while (
$file=readdir($dirr)) {
            if (
$file != '..' && $file != '.' && $file != 'index.php' && $file != 'guia.pdf'){
                if (!
is_dir($file)) {
                    echo 
"<tr><td>\t<a href='".$carpetas[$j]."/$file' target='_BLANK'>$file</a></td></tr>";
                }
            }
        }
        
closedir($dirr);
        
$j++;
}
  
function 
size_archivo($file) { 
           
$size filesize($file); 
            
$sizes = Array('Bytes''Kb''Mb''Gb''Tb''Pb''Eb'); 
            
$ext $sizes[0]; 
            for (
$i=1; (($i count($sizes)) && ($size >= 1024)); $i++) { 
              
$size $size 1024
              
$ext  $sizes[$i]; 
           } 
           return 
round($size2)." ".$ext

?> 
</table>
me podrian ayudar por favor con esto ? que no entiendo porque me sale eso .. saludos !!!!
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #2 (permalink)  
Antiguo 05/01/2006, 08:09
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
solucionado ... era un error mio ..

en el while($j <= $i)
deberia poner
while($j < $i)

problema resuelto saludos !!!
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
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:56.