无法从文件 PHP 中读取字节
Can't read bytes from file PHP
我有一个问题,即使我在 fopen() 中使用 "rb",它也不会读取字节。例如,当文件中有数字 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);
我不太确定你在做什么,但是 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)
后不要忘记关闭文件。
我有一个问题,即使我在 fopen() 中使用 "rb",它也不会读取字节。例如,当文件中有数字 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);
我不太确定你在做什么,但是 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)
后不要忘记关闭文件。