我需要两个函数,一个在PHP中,另一个在Adobe AIR javascript中,可以计算文件的MD5哈希并为同一个文件返回相同的结果。
我正在使用PHPJS的MD5函数来获取javascript:
function GetFileMD5(path) {
var file = new air.File(path);
if(file.exists) {
var fileStream = new air.FileStream();
fileStream.open(file, air.FileMode.READ);
var content = fileStream.readUTFBytes(fileStream.bytesAvailable);
fileStream.close();
return md5(content);
}
}
并在PHP中:
function GetFileMD5($path) {
if($file = fopen($path,'rb')) {
$content = fread($file, $file.size);
fclose($file);
return md5($content);
}
}
我不确定要使用哪个文件流功能(而不是readUTFBytes来匹配fread)。我尝试了各种组合。
任何帮助?
答案 0 :(得分:1)
PHP版本绝对是错误的。 $file.size
正在生成一个荒谬的结果,可能类似于"Resource id #7size"
。
正确(并且更简单)的实现可能是:
function GetFileMD5($path) {
return md5(file_get_contents($path));
}
答案 1 :(得分:0)
您也可以使用md5_file
功能。