2013-04-29 72 views
-2

我有一个用于获取文件名md5的脚本,然后使用它来重命名该文件。但是我意识到这是错误的,我需要真正获得文件的md5而不仅仅是名称。将文件名转换为文件的md5散列

想知道你是如何做到这一点的。下面是我目前:

function convertFileToMD5($filename) { 
    $filename_parts = explode('.',$filename); 
    $count = count($filename_parts); 
    if($count> 1) { 
     $ext = $filename_parts[$count-1]; 
     unset($filename_parts[$count-1]); 
     $filename_to_md5 = implode('.',$filename_parts); 
     $newName = md5($filename_to_md5). '.' . $ext ; 
    } else { 
     $newName = md5($filename); 
    }   
    return $newName; 
} 

我与这个功能使用

function uploadImage($image, $directory) { 
    $errors= array(); 
    $file_name = $image['name']; 
    $file_size = $image['size']; 
    $file_tmp = $image['tmp_name']; 
    $file_type= $image['type']; 
    if($file_size > 2097152){ 
    $errors[]='File size must be under 2 MB'; 
    }    
    if(empty($errors)==true){ 
    $newName = convertFileToMD5($file_name); 
     move_uploaded_file($file_tmp,"$directory".$newName); 
     $image = "$directory" . $newName; 
     return $image; 
    }else{ 
     return $errors; 
    } 
} 

回答