en este ejemplo reemplazé readdir y while por una array y un foreach, para simular el mismo caso... lo importante está dentro del foreach, otra cosa es que uid = buscar , para que no te confundas, el ejemplo lo que hace es mostrar solamente los archivos que dentro del nombre contengan el texto 'ta'.
Código PHP:
<?php
$archivos = array(
'.' ,
'..' ,
'importante.php' ,
'porno.php' ,
'lalala' ,
'tanque.jpg'
);
$buscar = 'ta';
foreach ( $archivos as $archivo ) {
$dot = strrpos( $archivo , '.' );
$nombre = substr( $archivo , 0 , $dot );
$extension = substr( $archivo , $dot + 1 );
if( strpos( $nombre , $buscar ) !== false ) {
echo '<h3>' . $archivo . '</h3>' ;
echo '<p><b>' . $nombre . '</b><i>' . $extension . '</i></p>' ;
}
}