我需要两个函数,一个在PHP中,另一个在Adobe AIR javascript中,可以计算文件的MD5散列,并返回相同文件的相同结果。
我对javascript使用PHPJS中的MD5函数:
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)。我试过各种组合。
有什么帮助吗?
发布于 2011-10-18 07:15:30
PHP版本肯定是错的。$file.size正在生成一个无意义的结果,可能类似于"Resource id #7size"。
正确(且简单得多)的实现可能是:
function GetFileMD5($path) {
return md5(file_get_contents($path));
}发布于 2013-10-02 00:09:46
您也可以使用md5_file函数。
https://stackoverflow.com/questions/7800190
复制相似问题