当名称不同时,有没有办法检查mysql数据库或特定文件夹中是否已存在图像或视频。另请注意,数据库或文件夹中可能有10到1000个图像,这需要通过php完成。
感谢您的帮助
答案 0 :(得分:2)
每个文件(出于实际目的)都有一个唯一的哈希,因此您可以将文件的哈希值(请参阅sha1_file
或md5_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
}