Si el nombre del archivo existe, devuelve un nuevo nombre de archivo con _number agregado para que no lo sobrescriba.
function file_newname($path, $filename){
if ($pos = strrpos($filename, '.')) {
$name = substr($filename, 0, $pos);
$ext = substr($filename, $pos);
} else {
$name = $filename;
}
$newpath = $path."https://css-tricks.com/".$filename;
$newname = $filename;
$counter = 0;
while (file_exists($newpath)) {
$newname = $name .'_'. $counter . $ext;
$newpath = $path."https://css-tricks.com/".$newname;
$counter++;
}
return $newname;
}
Devuelve el ejemplo:
myfile.jpg
myfile_0.jpg
myfile_1.jpg
(Visited 4 times, 1 visits today)