0

我正在使用表单将文件(图像)上传到我的服务器。我怎样才能防止同一张图片被上传两次?我不可能看是否存在相同标题的图像,因为相同的图像可以有不同的标题,不同的图像可以有相同的标题。任何帮助表示赞赏。

4

1 回答 1

3

像 ZombieHunter 建议的那样创建一个哈希。为什么?因为如果图像已经存在,则可以轻松快速地搜索和检查大哈希表。不幸的是,所有这些哈希方法(如 md5 或 md5_file)都适用于现有文件而不是远程文件。所以无论如何你都必须上传文件。然后,您可以决定是否要保留该文件。如果您从在线资源中获取文件,也许有一些方法可以从标题中检测文件大小并运行哈希而不下载它,但这是一种特殊情况。

此外,如果您将其他业务逻辑附加到这些图像,使用 userHasImages 或 companyHasImages 等概念,您可以将它们组织在命名空间/文件夹/标签中,以便进一步加快搜索速度。

在数据库严格来说防止重复条目方面,对包含哈希的列使用唯一索引。

于 2012-06-15T06:53:55.650 回答