吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 753|回复: 0
收起左侧

[求助] PHP如何读取一个大于8192 个字节的二进制文件,获取正确的crc

[复制链接]
CT554778689 发表于 2020-7-27 10:54
<?php
function 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字节

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 14:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表