1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| function print_binary($filename, $start = 0, $stop = NULL) {
$handle = @fopen($filename, "r");
if($handle) {
$cpt = 0;
$data = [];
while(($buffer = fgets($handle, 4096)) !== false) {
if($cpt++ < $start) continue;
$data = array_merge($data, unpack("C*", $buffer));
if((is_numeric($start))&&($cpt > $stop)) break;
}
$ASCII = $DEC = $HEX = $KEY = "";
foreach($data AS $k => $char) {
$KEY .= sprintf("<div class=\"key\">%d</div>", $k);
$ASCII .= sprintf("<div class=\"ascii\">%s</div>", chr($char));
$DEC .= sprintf("<div class=\"dec\">%03d</div>", $char);
}
printf("%s<div class=\"clear\"></div>%s<div class=\"clear\"></div>%s<div class=\"clear\"></div><hr />", $KEY, $ASCII, $DEC);
if((!feof($handle))&&($cpt <= $stop)) echo "Erreur: fgets() a échoué\n";
fclose($handle);
}
} |
Partager