【问题标题】:reading a bin file with php bin2hex function使用 php bin2hex 函数读取 bin 文件
【发布时间】:2023-03-13 20:20:01
【问题描述】:

我正在尝试读取一个包含大量两个 4 字节数字的 bin 文件,我想读取这些数字并将其转换为十六进制数字,然后将其打印到屏幕上......但希望我很难理解这个问题。到目前为止,这就是我阅读示例和文档所获得的内容..

<?php

$handle = @fopen("files/bigbin1.bin", "r");
if ($handle) {
    while (!feof($handle)) {
        $hex = bin2hex($handle);
    }
    fclose($handle);

}

print_r($hex);
?>

我 95% 确定错误在于将 $handle 传递给 tbin2hex.. 但这是我第一次读取 bin 文件,我有点迷失了。在某个时候的总体目标是将 bin 文件读入数据库,但我只是想弄清楚这个文件在屏幕上的样子。

【问题讨论】:

  • 不能直接把句柄传给bin2hex。
  • 是的,这就是我在测试后的想法.. 只是不太知道如何用语言表达这个想法 :) 我仍然在思考一些事情,因为我已经有几年了玩过 php,即便如此,它还是相当基本的东西,所以慢慢流行起来。

标签: php hex fopen bin


【解决方案1】:
<?php

$handle = @fopen("files/bigbin1.bin", "r");
if ($handle) {
    while (!feof($handle)) {
        $hex = bin2hex(fread ($handle , 4 ));
        print $hex."\n";
    }
    fclose($handle);

}

?>

编辑:你也应该避免使用@,它会让调试变得非常令人沮丧。

【讨论】:

  • 问题说明数字有4个字节长,应该是fread($handle, 4)吗?
  • @Keoki Zee:是的,你是对的,对不起,我把它误读为 2 个 4 位长整数。
  • 这很好用,抱歉我之前没有标记它是在用这个例子玩进一步的概念:) 再次感谢 :P
猜你喜欢
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2014-06-10
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
相关资源
最近更新 更多