Sha1 - как и у любой хеш-функции, она имеет преимущество детерминированности.В вашем случае это может быть нежелательным.Использование только хеш-функции для этого приведет к конфликтам на равных файлах (что может произойти в реальной жизни).
В этом случае лучше иметь uniqueid.Хотя меньший диапазон из 13 символов будет указывать на гораздо более высокую вероятность столкновений, это не так, потому что редко, когда 2 файла загружаются в один и тот же момент.Даже если использование имени файла в качестве префикса (и благодаря этому увеличение длины вашего $ newname) в большинстве случаев избавит вас от коллизий.Если вы хотите убедиться, вы можете добавить проверку цикла для существующего файла и перестроить имя до тех пор, пока у вас не возникнет коллизия (или не будет дано условие прерывания).