Anche io ho lo stesso problema:
ho questo codice che funziona perfettamente:
Codice PHP:
$uploadfile = $uploaddir . preg_replace("/ /","_",$_FILES['userfile']['name'][$i]);
in pratica sostituisce lo spazio vuoto nel nome con l'underscore (fin qui tutto ok).
Poi ho aggiunto altri caratteri da eliminare (la parentesi quadra ']' )
Codice PHP:
$uploadfile = $uploaddir . preg_replace("/ /","/]/","_",$_FILES['userfile']['name'][$i]);
Ma non funziona più. Forse sbaglio la sintassi per le sostituzioni multiple...