questo e uno script fatto cosi di getto in pratica prende tutte le immy da una cartella, tramite substr prendo la prima lettera di ognuno e con mkdir crea le cartelle con l'iniziale ( se gia esistono non la crea e da un messaggio di errore), poi con copy copio le immy dentro quella con la sua iniziale, cmq e un po rozzo perche non sono molto pratico di queste cose XD, la mia e solo un idea che potresti usare lo testato in locale e funziona.
Codice PHP:
<?
$dir
="img";
$a opendir($dir);

while (
false !== ($g=readdir($a)))
{
    if (
$g !="." && $g != ".."){
    
$array[]=$g;;
    }
}
$count=count($array);
for (
$i=0$i<$count$i++)
{
$iniziale substr($array[$i],0,1);
mkdir("$dir/$iniziale");
copy("img/$array[$i]","img/$iniziale/$array[$i]"); 
}

?>