instead of refusing to upload files with those characters, you could use code to remove them.
the following example will remove the & \ ' character, you can add others to the array:
<?php 
if(isset($_FILES)) { 
    foreach($_FILES as $k => $v) { 
        $_FILES[$k]["name"] = str_replace(array("&","\\","'"),"",$_FILES[$k]["name"]); 
    } 
} 
?>

