2013-04-29 69 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; 
    } 
} 

回答