如果我想将数据库中的内容链接到文件,我可以使用哪种方法唯一地引用数据库中的文件,而不是文件或可能更改的创建/修改日期名称。是否存在一些对于不会更改的文件而言是唯一的,并且可用于在数据库中引用该文件?
我想引用与m3u8媒体文件对应的数据库内容数据,因此当我播放文件时,将检索并显示数据库内容。我希望能够修改m3u8文件名并更改其内容,因此我需要使用filename或mtime之外的其他内容来引用该文件。
答案 0 :(得分:2)
我可能要投票,但我必须分享。
我通常用time()
解决这个问题,因为time()
的重复条目几乎为零(除非有一些奇迹,否则两个文件处理会在相同的时间内发生)。
我不止于此,我有时会在字符串中添加用户名,以及一些其他随机代码,使其几乎可以防止重复(可能性接近于零)。
假设文件名为super-awersome-pdf-file.pdf
。我在它前面添加time()
(这是一个字符串),然后是其他一些东西。该文件名本身成为唯一的ID。此外,我还将信息存储在数据库表中,以便为其提供另一个唯一ID。因此,我有两件事要处理。
通过将文件名保持在少于60-70个字符,您可以通过这种方式制作一些非常独特的文件名。然后,您可以将有关它的信息添加到数据库。
<强>临强> 几乎从来没有你会得到重复的文件名
Con:但是这可能会创建重复文件,因为系统会看到这两个文件具有不同的文件名。
所以,没有重复的文件名,但可能是因为用户不小心一些重复的文件。
希望这有帮助。