7
votes

Comment changer le nom du fichier téléchargé sans changer d'extension

J'aimerais changer le nom du fichier téléchargé sur MD5 (nom_fichier) .xext, où EXT est l'extension du fichier téléchargé. Y a-t-il une fonction qui peut m'aider à le faire?


0 commentaires

5 Réponses :


23
votes
$filename  = basename($_FILES['file']['name']);
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$new       = md5($filename).'.'.$extension;

if (move_uploaded_file($_FILES['file']['tmp_name'], "/path/{$new}")) 
{
   // other code
}

0 commentaires

3
votes

Utilisez cette fonction pour modifier le nom du fichier en MD5 avec la même extension

function convert_filename_to_md5($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;
}


0 commentaires

0
votes

Recherchez ci-dessous le code PHP pour obtenir l'extension de fichier et modifier le nom du fichier

<?php
if(isset($_FILES['upload_Image']['name']) && $_FILES['upload_Image']['name']!=='') {
    $ext = substr($_FILES['upload_Image']['name'], strpos($_FILES['upload_Image']['name'],'.'), strlen($_FILES['upload_Image']['name'])-1);     
    $imageName = time().$ext;
    $normalDestination = "Photos/Orignal/" . $imageName;
    move_uploaded_file($_FILES['upload_Image']['tmp_name'], $normalDestination);
}
?>


0 commentaires

0
votes

Celui-ci fonctionne xxx


0 commentaires

1
votes
   <?php
    $filename   = $_FILES['file']['name'];
    $extension  = pathinfo($filename, PATHINFO_EXTENSION);
    $new        = rand(0000,9999);
    $newfilename=$new.$filename.$extension;

    if (move_uploaded_file($_FILES['file']['tmp_name'],$newfilename)) 
    {
      //advanced code 
    }
    ?>

0 commentaires