Apoyando la sugerencia de
Santris...podrías usar algo así:
Código PHP:
Ver original$str='mi fichero á.jpg';
$sea=array(' ','ñ','Ñ','Á','á','É','é','Í','í','Ó','ó','Ú','ú'); $rep=array('-','n','N','A','a','E','e','I','i','O','o','U','u');
echo $str;//imprime: mi-fichero-a.jpg
//cuando $str='niño.jpg'; imprime: nino.jpg
A $sea/$rep puedes agregar más caracteres problemáticos, como à,è,Ì,ö, etc.