tan simple como que vayas recorriendo el nombre del archivo y llegando al número máximo que deseas permitir, termines y añadas los 3 puntos.. más la extensión..
Código PHP:
Ver original$nombre_archivo = "nombremuymuymuylargo.jpg";
$aux = explode(".",$nombre_archivo); $maximo_caracteres = 10; //debes tomar en cuenta los 3 puntos y la extension
for($i=0;$i<$maximo_caracteres;$i++)
$nombre_recortado .= $nombre_archivo[$i];
$nombre_recortado .= "...".$aux[1];
algo así creo yo..