1 если оригинальный $newname тебе не нужен - можно его удалить без проверки. Обсуждали вчера 2 если хочешь сохранить и $newname и $oldname переименовать, то: 2.1 можно создать уникальное имя в виде newname_1, newname_2 итд 2.2 можно изначально $newname cделать уникальным например добавив дату и время в названиефайла
так это не замена, это удаление просто если нет файла, то ничего и не будет, значит новый файл переименуется легко, если же файл с таким именем есть, то он сначала удалит старый, затем новый переименует в продолжении скрипта