5

1.codeigniter的上传库的encrypt_name选项检查是否唯一?

我知道overwrite选择很重要。如果overwriteTRUE,它将覆盖,如果是FALSE,它将通过在名称末尾添加一个数字来重命名文件。

问题是:它是否会重新生成加密名称,直到找到唯一的名称,即使overwriteTRUE?我问这个是因为很明显,当我们想要加密名称时,我们当然不想覆盖。

通过添加一些数字来重命名的问题是它会破坏文件名的大小。许多文件将有 32 个字符的文件名,有些文件可能有 33 个字符的文件名,这会破坏协调。

2.这有可能产生一个不断重复的结果吗?

4

1 回答 1

6

由于 Codeignitermd5(uniqid(mt_rand()))用于生成加密文件名,我猜你会在uniquid 的 PHP 文档中找到答案。

简短的回答(对于 2.)将是:也许,但可能不是。

并回答您的第一个问题:不,如果 CI 已经存在,它不会生成新的加密文件名。它会在名称的末尾添加一个数字。

看一下 /libraries/Upload.php 的源代码,第 415 行会有所帮助。

于 2013-07-26T10:51:07.507 回答