Foros del Web » Programando para Internet » PHP »

mostrar mensaje si el directorio está vacío

Estas en el tema de mostrar mensaje si el directorio está vacío en el foro de PHP en Foros del Web. hola a todos. a ver. mediante este código leo los archivos que hay en un directorio: Código PHP: $path  =  $_GET [ 'path' ];     if(!isset( ...
  #1 (permalink)  
Antiguo 15/03/2007, 03:48
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
mostrar mensaje si el directorio está vacío

hola a todos. a ver. mediante este código leo los archivos que hay en un directorio:

Código PHP:
$path $_GET['path']; 
   if(!isset(
$path)) 
   { 
       
$path "documentos"
   } 
   if (
$handle opendir($path))  
   { 
       
$curDir substr($path, (strrpos(dirname($path."/."),"/")+1)); 
       print 
"Directorio Actual: ".dirname($path."/.")."<br>************************<br>"

       while (
false !== ($file readdir($handle)))  
       { 
           if (
$file != "." && $file != "..")  
           { 
               
$fName $file
               
$file $path.'/'.$file
               if(
is_file($file)) 
               { 
                   print 
"&nbsp;&nbsp;<a href='".$file."'>".$fName."</a>&nbsp;&nbsp;&nbsp; ".filesize($file)." bytes<br>"
               } 
                
           } 
       } 

       
closedir($handle); 
   } 
lo que yo quiero saber es cómo hacer para que, si el directorio está vacío, me de un mensaje del estilo "actualmente no hay archivos en este directorio" o algo así. alguna ayuda?
  #2 (permalink)  
Antiguo 15/03/2007, 17:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: mostrar mensaje si el directorio está vacío

Se me ocurre usar una variable indicadora:

Inicializa como
$vacio = true;

dentro del while, si entro en el IF, quiere decir que hay algo en el directorio.
Por lo tanto, simplemente agregás al código dentro del IF algo como

$vacio = false;

Luego simplemente verificás el valor de $vacio: si es true el directorio está vacío.


Saludos.
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 21:00.