Не удается прочитать байты из файла переполнения стека

У меня проблема, даже я использую «rb» в fopen (), он не читает байты. Например, когда в файле были цифры 1234 или буквы. Я получил так же, как в файле.

<?php

error_reporting(-1);

class Archivator
{
public function readFile($file)
{
$stream = fopen($file, "rb");
while ($byteStr = fread($stream, 1)){
var_dump($byteStr);
echo $byteStr."\n";
}
}
}

$arch = new Archivator();
$arch->readFile('d:\\ok\\vas.txt');

$x=fgets(STDIN);

-1

Решение

Я не совсем уверен, что ты задумал, но fread будет читать символ как строку. Если вы хотите отобразить его значение байта (ASCII), вы можете использовать ord и опционально dechex:

while ($char = fread($stream, 1)){
printf("Byte value of '%s' is %d (%s hex)\n", $char, ord($char), dechex(ord($char)));
}

Кроме того, не забудьте закрыть файл, когда вы закончите с fclose($stream),

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]