Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将文件名转换为文件的md5哈希_Php_Md5 - Fatal编程技术网

Php 将文件名转换为文件的md5哈希

Php 将文件名转换为文件的md5哈希,php,md5,Php,Md5,我找到了一个脚本,用于获取文件名的md5,然后使用它重命名文件。但我意识到这是错误的,我需要实际获取文件的md5,而不仅仅是它的名称 不知道你是怎么做到的。以下是我目前的情况: function convertFileToMD5($filename) { $filename_parts = explode('.',$filename); $count = count($filename_parts); if($count> 1) { $ext =

我找到了一个脚本,用于获取文件名的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;
    }
}

您需要哈希_文件函数:

或更具体的md5_文件函数:

hash_file('md5', 'your_file.txt');
md5_file('your_file.txt');