Que coincidencia
MoDoRrO. Justo hace unos minutos estuve en el mismo lío, y ya iba a publicar, pero logré armar esta pequeña función:
Código PHP:
function replace_filename($str,$min = 0) {
$str = ereg_replace("[^a-zA-Z0-9.]",'_',$str);
return ($min == 1) ? strtolower($str) : $str;
}
Lo que hace es conservar sólo las letras, números y el punto (.)... Todo lo demás lo convierte a guiones "_". Si deseas sólo convertir los espacios, usa el código que te expuso
Marvin más arriba. Pero te sugiero que uses la función que te doy, pues un nombre de archivo inválido no sólo es aquel que está compuesto de espacios
. Si deseas que además te convierta todo a minúsculas, le agregas como segundo parámetro un
1 Código PHP:
$archivo = "Múltiples mp3's & wma's (Por MyOkram).zip";
$archivo = replace_filename($archivo,1);
echo $archivo;
Un saludo,