David, gracias por tu ayuda.. efectivamente la concatenacion estaba mal, y tmb debia concantenar en filesize y time, pero sigo con problemas.. este es el codigo que estoy usando ahora:
   Código PHP:
    $usuario = $SESSION["usuario"];
 
function ls(){
//directorio a listar
 
$directorio= dir('./' . $usuario);
 
$pn= array();//pila de nombres
$pf= array();//pila de fechas
$pt= array();//pila de tamaNos
 
//bucle para llenar las pilas :P
while (($archivo = $directorio->read())!== false){
//no mostrar ni "." ni ".." ni el propio "index.php"
if(($archivo!="index.php")&&($archivo!=".")&&($archivo!="..")){
array_push($pn, $archivo);
array_push($pf, date("d F Y H:i", filemtime('./' . $usuario . '/' . $archivo)));
array_push($pt, filesize('./' . $usuario .'/' . $archivo));
}
}
$directorio->close();
 
//ordenar las 3 pilas segun la pila de nombres
array_multisort($pn,$pf,$pt);
//mostrar los datos
for($i=0; $i<count($pn); $i++){
echo '<div class="archivo"><a href="'.$pn[$i].'">'.$pn[$i].'</a></div><div class="fecha">'.$pf[$i];
printf('</div><div class="peso">%1.3fKb</div>',$pt[$i]/1000);
}
}}
?> 
   
  Y lo curioso es que no me reconce la parte de la variable $usuario, o sea, me lista el directorio actual, pues me toma este valor "//".. no se si me explico. es como si $usuario fuese nula. 
Lo mas curioso aun, es que, en el mismo sitio, tengo un echo que imprime la variable $usuario, y me lo muestra perfectamente. Es decir, tengo esto:  
Código:
 Bienvenido <? echo $usuario; ?>
  y me imprime, por decir, esto: 
"Bienvenido Pablo"... 
se entiende?? alguien sabe cual puede ser el error?? 
desde ya muchas gracias, un saludo!! 
pablo