我有字节文件。现在需要用一个字节读取它。我怎么能做到这一点?
它可能的读取数组并删除readed元素?
答案 0 :(得分:1)
假设您正在从阵列的正面阅读,那么您需要array_shift
。您可以在http://us2.php.net/manual/en/function.array-shift.php了解更多信息。
请注意array_shift
在数组大小上是线性的,而不是常数时间。如果您真的必须遵循此模型,则可能需要先反转数组并改为使用array_pop
。
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以使用fgetc
函数从文件中读取一个字符/字节 - 并在循环中调用它。
引用给定的例子:
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
echo "$char\n";
}
这将起作用,因为PHP认为一个字符==一个字节(这并不总是正确的......但这是另一个问题^^)
答案 3 :(得分:0)
array_shift()
将删除数组的第一个元素。
从文件读取通常使用字符串来完成,在这种情况下,您应该存储正在处理的字符的索引,并在处理当前字符时将其前进。
答案 4 :(得分:0)
使用file_get_contents打开文件,并使用unpack逐字节读取。
答案 5 :(得分:0)
使用php只读取文件的一个字节:
$fh = fopen('mytest.txt', "r");
$contents = fread($fh, 1);