PHP-печать двоичного файла в массив - PullRequest
0 голосов
/ 14 мая 2018

Я распечатал этот двоичный файл, но еще не сохранен в массиве.

<?php
// get contents of a file into a string
$filename = "rock.wav";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));


for($i = 0; $i < strlen($contents); $i++) {
    $char = $contents[$i];

    $str = ord ($char);
	echo str_pad(decbin($str), 8,"0",STR_PAD_LEFT)."<br/>";

Результат таков:

01010010
01001001
01000110
01000110
00000010

Скорее всего, десять тысяч.

Я хочу прочитать их в массив, который выглядит так,

[0] = '0';
[1] = '1';
[2] = '0';
[3] = '1';
[4] = '0';
[5] = '0';
[6] = '1';
[7] = '0';

[0] = '0';
[1] = '1';
[2] = '0';
[3] = '0';
[4] = '1';
[5] = '0';
[6] = '0';
[7] = '1';

Есть какие-нибудь подсказки, как это сделать?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Вы можете использовать str_split

for($i = 0; $i < strlen($contents); $i++) {
    $char = $contents[$i];

    $str = ord ($char);
    $binArray = str_split(str_pad(decbin($str), 8,"0",STR_PAD_LEFT));
    print_r($binArray);    
}
0 голосов
/ 14 мая 2018
$array = [];
for($i = 0; $i < strlen($contents); $i++) {
   $char = $contents[$i];

   $str = ord ($char);
   echo "<pre>";
   $array[] = str_split('',str_pad(decbin($str), 8,"0",STR_PAD_LEFT));
}
var_dump($array);

это должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...