我想同步两个目录。我用
file_get_contents($source) === file_get_contents($dest)
比较两个文件。这样做有什么问题吗?
我宁愿做这样的事情:
function files_are_equal($a, $b)
{
// Check if filesize is different
if(filesize($a) !== filesize($b))
return false;
// Check if content is different
$ah = fopen($a, 'rb');
$bh = fopen($b, 'rb');
$result = true;
while(!feof($ah))
{
if(fread($ah, 8192) != fread($bh, 8192))
{
$result = false;
break;
}
}
fclose($ah);
fclose($bh);
return $result;
}
这会检查文件大小是否相同,如果相同,则逐步检查文件。
- 在某些情况下,检查修改时间检查可能是一种快速方法,但除了文件在不同时间被修改之外,它并不能真正告诉您任何信息。它们仍然可能具有相同的内容。
- 使用 sha1 或 md5 可能是一个好主意,但这需要遍历整个文件来创建该哈希值。如果这个哈希值可以被存储并在以后使用,那么这可能是一个不同的故事,但是是的......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)