Si le nom de fichier existe, renvoie le nouveau nom de fichier avec _number ajouté afin de ne pas l'écraser.
function file_newname($path, $filename)( if ($pos = strrpos($filename, '.')) ( $name = substr($filename, 0, $pos); $ext = substr($filename, $pos); ) else ( $name = $filename; ) $newpath = $path.'/'.$filename; $newname = $filename; $counter = 0; while (file_exists($newpath)) ( $newname = $name .'_'. $counter . $ext; $newpath = $path.'/'.$newname; $counter++; ) return $newname; )
Exemple de retour:
myfile.jpg.webp
myfile_0.jpg.webp
myfile_1.jpg.webp