В прошлом я всегда просто привязывал результаты mktime () перед расширением файла (когда указанное имя файла уже существует в системе). Не нужно анализировать номер текущей версии, и вы также получите хорошую временную метку, добавленную к имени файла, чтобы вы могли определить, какая из них появилась первой и когда она была создана. Вы можете проверить файл с включенной отметкой времени перед сохранением, если вас беспокоит, что кто-то другой может сохранить файл с таким же именем в ту же самую секунду на сервере. Если это действительно проблема, вы, вероятно, должны сделать то же самое и с вашей системой, набрав номер, затем еще раз проверьте, существует ли файл с таким именем.
Временная метка имеет дополнительное преимущество, так как маловероятно, что кто-то загружает файл с уже названным именем, похожим на номер вашей версии, например, bob_321235678.jpg по сравнению с bob_1.jpg.
Единственным недостатком всего этого является то, что вы можете получить кучу файлов, которые более или менее одинаковы, но с разными именами, поэтому вы можете периодически анализировать эти данные в поисках файлов, которые не используются в системе.