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? P>
5 Réponses :
$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 }
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; }
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); } ?>
Celui-ci fonctionne
<?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 } ?>