我编写了一个脚本,该脚本读取目录中的所有文件并返回每个文件的 md5 哈希值。但是,对于相当大的文件,它不会呈现任何内容。我假设解释器为最大处理时间设置了一些值,并且由于获取该值需要很长时间,因此它只是跳到其他文件。有没有办法通过 PHP 获取大文件的 md5 校验和?如果没有,可以通过 cpanel 的 chron job 来完成吗?我在那里尝试了一下,但似乎我的 md5sum 命令从未被处理过:我从未收到带有哈希值的电子邮件。这是我已经编写的 PHP。这是一个非常简单的代码,适用于大小合理的文件:
function md5_dir($dir) {
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo nl2br($file . "\n" . md5_file($file) . "\n\n");
}
closedir($dh);
}
}
}
确保使用 escapeshellarg (http://us3.php.net/manual/en/function.escapeshellarg.php) 如果您决定使用 shell_exec() 或 system() 调用。 IE。,
shell_exec('md5sum -b ' . escapeshellarg($filename));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)