Это довольно просто на самом деле.Добавьте время и, возможно, какой-нибудь уникальный идентификатор (возможно, простой uniqid()
).Если вы не хотите, чтобы время читалось, рассмотрите возможность его хеширования.
Теперь главное, что вас беспокоит, это вернуть файл обратно, верно?Лучше всего хранить в базе данных как оригинальное, так и закаленное имя.Это означает, что вы можете показывать оригинальное имя на внешнем интерфейсе, но работать с уникальным.
Другие решения не так уж и надежны.Например, вы можете добавить SID пользователя, но это означает, что пользователь не получит файл в другом сеансе (и, возможно, другие пользователи могут редактировать свой, чтобы получить его самостоятельно).