How to fix special character file names issues during file uploads from custom and drupals form.

How to fix special character file names issues during file uploads from custom and drupals form. specially for security issue. In hook_init() you can place code for altering $_FILES variables name values to store proper and good file names.
<?php
/**
 * Last mod : Inder SIngh @ Sat 12 Mart 2:18 AM 2010
 */
function inders_mod_init() {
       
//Add any css or js file there
       
drupal_add_css(drupal_get_path('module', 'inders_mod') .'/inders_mod.css');
       
//If custom field were used for uploading
        //Never prefered
       
if(!empty($_FILES['avatar_image']) || !empty($_FILES['profile_pic'])){
                foreach (
$_FILES as $field_name => $field) {
                   
$_FILES[$field_name]['orig_name']=$field['name'];
                   
$_FILES[$field_name]['name']=preg_replace('`[^\.a-z0-9]`i','_',$field['name']);
            }
        }
       
//This will work for all files if using drupal forms
       
if (!empty($_FILES['files'])){//Working with global
           
foreach ($_FILES['files']['name'] as $field => $filename) {
                if(
$field=="diagram"){
                   
$_FILES['files']['orig_name'][$field] = $filename;//May be useful for some cases
                   
                    //Get the trick to work here
                   
$_FILES['files']['name'][$field] = preg_replace('`[^\.a-z0-9]`i','_',$filename);

                }
            }
        }
}
/**
 *
 */
?>