PHP如何读取一个大于8192 个字节的二进制文件,获取正确的crc
<?phpfunction crc16($string)
{
$length = strlen($string);
//echo "crc check length-->".$length."\n";
$crc = 0xFFFF;
for ($x = 0; $x < strlen($string); $x++) {
$crc = $crc ^ ord($string[$x]);
for ($y = 0; $y < 8; $y++) {
if (($crc & 0x0001) == 0x0001) {
$crc = (($crc >> 1) ^ 0xA001);
} else { $crc = $crc >> 1;}
}
}
return $crc;
}
$filename= '**********';
$size = filesize($filename);
$handle = fopen($filename, "rb");
$file_data = fread($handle, $size); //fread不能读取大于8192字节的bin文件
$crc = crc16($file_data);
print_r($crc);
?>
哪位大佬有可以替代fread的方法
// $handle= fopen($filename, "rb");
// $content = "";
// while (!feof($handle)) {
// //测试文件指针是否到了文件结束的位置
// $content .= fgets($handle);
// }
// fclose($handle);
该方法也是不能突破8192字节
页:
[1]