【问题标题】:php read data from binary filephp从二进制文件中读取数据
【发布时间】:2015-04-23 06:23:33
【问题描述】:

我找不到我的问题的答案。我有代码

$arr = array(pack("d",1324),pack("d",151),pack("d",8564));
file_put_contents('C:\\Users\\Duc Nguyen\\Desktop\\text.bin', $arr);

所以我得到了一个二进制文件。我用了代码

$s = file_get_contents('C:\\Users\\Duc Nguyen\\Desktop\\text.bin');
foreach(unpack("d", $s) as $n) 
    echo $n;

读取它,但它没有工作。你能告诉我如何从文件中读取数据。我不喜欢使用序列化/反序列化功能。 谢谢!

【问题讨论】:

  • 没有工作 这是什么意思?你的代码对我来说很好。
  • 我的意思是它只返回第一个数字 1324

标签: php arrays binary


【解决方案1】:

您只是使用了错误的pack()unpack() 格式,只需将d 更改为d*。例如:

$arr = array(pack("d*",1324),pack("d*",151),pack("d*",8564));
//...            v  ^               ^              ^
foreach(unpack("d*", $s) as $n) 

以及手册中的引述:

repeater 参数可以是整数值或 * 用于重复到输入数据的末尾。

【讨论】:

  • 哦,对了。我应该仔细阅读手册。非常感谢
猜你喜欢
  • 1970-01-01
  • 2015-06-27
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 1970-01-01
  • 2018-05-24
相关资源
最近更新 更多