codice:
if(is_dir($dirname)){ 
echo("<h2>Contenuto della directory $dirname:</h2>"); 
$dir = opendir($dirname); 
echo "<table border=1 width=40%>"; 
echo "<tr>";
$i = 0;
while($file=readdir($dir)){ 
$findme = ".jpg"; 
$mystring1 = $file; 
$pos1 = strpos ($mystring1, $findme); 
if ($pos1 !== false) { 
echo "<td>[img]$mystring1[/img]</td>";
$i++;
//se sono alla 4° riga o un multiplo di 4 cambio riga
if($i%4==0){
echo "</tr><tr>";
}
} 
}
//finito il ciclo aggiungo le celle mancanti e chiudo la riga
if($i%4!=0){
$mancano = 4-($i%4);//righe mancanti
for($j=1;$j<=$mancano;$j++){
echo "<td> </td>";
}
}
echo "</tr>"; 
echo "</table>"; 
closedir($dir); 
} 
else{ 
echo "$dirname non è una directory valida"; 
}
ho modificato al volo il tuo script non garantisco magari dovrai metterci le mani sopra