我有一个文件。但现在需要将此文件读入字节数组。在java或c ++中,这很容易做到。但没有找到我如何用PHP阅读。
答案 0 :(得分:10)
您可以将文件读入如下字符串:
$data = file_get_contents("/tmp/some_file.txt");
您可以获得类似于C中的单个字节:
for($i = 0; $i < strlen($data); ++$i) {
$char = $data[$i];
echo "Byte $i: $char\n";
}
参考文献:
答案 1 :(得分:4)
请参阅PHP Manual on String access and modification by character
可以通过使用方形数组括号在字符串后面指定所需字符的从零开始的偏移来访问和修改字符串s中的字符,如
$str[42]
中所示。将字符串视为用于此目的的字符数组。当您要提取或替换多个字符时,可以使用函数substr()
和substr_replace()
。
或者,如果您在寻找和读取文件中的字节后,可以使用SplFileObject
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
echo "$char\n";
}
但这不是一个字节数组,而是迭代文件句柄。 SplFileInfo实现SeekableIterator接口。
在旁注中,还有
答案 2 :(得分:2)
您可以使用fread()
或file_get_contents()
阅读该文件,然后将其与str_split()
分开:
$MyArray = str_split($file);
答案 3 :(得分:2)
太多的php&gt;
$data = file_get_contents("/tmp/some_file.txt");
最佳制作方式(不建议使用count,sizeof,strlen或其他功能):
$counter = strlen($data);
for($i = 0; $i < $counter; ++$i) {
$char = data[$i];
echo "Byte $i: $char\n";
}