PHP побайтное чтение файла с выводом содержимого

вот такой пример:

<?php

$file_handle = fopen("rf.bmp", "rb"); // получаем дескриптор файла
// b в "rb" указывает ,что мы собрались читать бинарный файл

$i = 0;
while ($data = fread($file_handle, 1)) // читаем по одному байту
{
	$i++;
	//var_dump($data); 
	//$str = $data & 1;
	$str = bin2hex($data); // переводим в 16-ти ричное представление
	$str = hex2bin($str); // назд в биты
	$str = bin2hex($str); // и снова переводим в 16-ти ричное представление
	echo "<br>$i) " . $str;// выводим значение каждого байта
}

/* В PHP 5.4 уже есть родная (встроенная)
функция hex2bin  - реализация же ниже
 приведена для более старых версий*/
function hex2bin($data) { 
    $len = strlen($data);
	$newdata = '';
    for($i=0;$i<$len;$i+=2) {
        $newdata .= pack("C",hexdec(substr($data,$i,2))); // упаковываем в последовательность бит
    }
   return $newdata;
}