【发布时间】:2015-04-29 01:15:12
【问题描述】:
<?php
//it is unnecessary to get the data file.
$handle = fopen('data', 'rb');
fread($handle,"64");
//it is no use to parse the first 64 bytes here.
$bytes= fread($handle,"4");
print_r(unpack("L",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
$bytes= fread($handle,"4");
print_r(unpack("f",$bytes));
echo "<br/>";
?>
我得到了正确的代码输出。
Array ( [1] => 20150416 )
Array ( [1] => 1.0499999523163 )
Array ( [1] => 1.25 )
Array ( [1] => 1.0299999713898 )
Array ( [1] => 1.1900000572205 )
Array ( [1] => 509427008 )
Array ( [1] => 566125248 )
Array ( [1] => 509427008 )
现在我想用下面的代码将很多解压语句压缩成unpack("Lfffffff",$bytes)的形式。
<?php
$handle = fopen('data', 'rb');
fread($handle,"64");
//it is no use to parse the first 64 bytes here.
$bytes= fread($handle,"32");
print_r(unpack("Lfffffff",$bytes));
?>
为什么我得到唯一一个输出,而我的结果中没有其他解析数据?如何解决?
Array ( [fffffff] => 20150416 )
数据文件是用notepad++打开的,通过插件--TextFX检查。 这里只解析了96个字节,fread省略了前64个字节。
【问题讨论】:
-
您可以发布您的文件内容吗?
-
这是一个二进制文件,请告诉我如何将它粘贴到这里?
-
我已经将数据文件粘贴到外部链接中,管理员将帖子保持状态,现在我在这里重新发布并删除外部链接中的数据文件。
标签: php arrays file binaryfiles unpack