检查数据库/文件夹中的重复图像和视频

时间:2014-09-08 17:04:29

标签: php mysql

当名称不同时,有没有办法检查mysql数据库或特定文件夹中是否已存在图像或视频。另请注意,数据库或文件夹中可能有10到1000个图像,这需要通过php完成。

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

每个文件(出于实际目的)都有一个唯一的哈希,因此您可以将文件的哈希值(请参阅sha1_filemd5_file)保存到数据库以及新文件的哈希值在你的数据库中,它已经存在。

$newFileHash = sha1_file('myNewFile.txt');
$query = "SELECT 1 FROM myHashes WHERE file_hash = '$newFileHash'";
$rs = mysqli_query($query);
if(mysqli_num_rows($rs)) {
  echo "the file already exists!";
}
else {
  //insert $newFileHash into your db here
}

答案 1 :(得分:0)

您可以获取图像/视频的base64编码数据信息

$file = file_get_contents('path/file.zip');
$file_encoded = base64_encode($file);

然后将$file_encoded与数据库中的任何内容进行比较。

if ($file_encoded === $file_encoded_in_db) {
   //Files are the same
}