hola!.. creo que tu programa, tiene un error sencillito:
foreach ($_FILES["fotos"]["error"] as $key => $error) {
$kk = 0; <-------------------------------------------------aqui!!!!
if ($error == UPLOAD_ERR_OK) {
echo"$error_codes[$error]";
move_uploaded_file($_FILES["fotos"]["tmp_name"][$key], $_FILES["fotos"]["name"][$key] ) or die("Problemas con el upload");
}
$kk++;
echo $kk;
}
Cada que entra al foreach, tu kk se reinicia... ponlo fuera del foreach, y problema resuelto!!!..
bye!..