Я выполнил работу по анализу данных из целевого файла в двоичной форме с помощью друзей stackoverflow.
<?php
$handle = fopen('data', 'rb');
fread($handle,64);
while (!feof($handle)) {
$bytes= fread($handle,32);
print_r(unpack("La/fb/fc/fd/fe/ff/fg/fh",$bytes));
echo "<br/>";
}
echo "finish";
fclose($handle);
?>
Я получил результат, здесь осталась одна последняя ошибка, которая не может решить сама.
1. почему распаковка (): тип L: недостаточно ввода, нужно 4, есть 0?
2. как это исправить?
Измените ваш цикл на:
while ($bytes = fread($handle, 32)) {
print_r(unpack("La/fb/fc/fd/fe/ff/fg/fh",$bytes));
echo "<br/>";
}
feof($handle)
не становится правдой, пока после Вы пытались прочитать в конце файла.
Таким образом, вы выполняете дополнительную fread()
, который возвращает false
, а затем пытается распаковать пустую строку байтов.
Других решений пока нет …