[英]Reading a File into a Byte Array (PHP)
我有一个文件。 但现在需要将此文件读入字节数组。 在java或c ++中,这很容易做到。 但没有找到我如何用PHP阅读。
您可以将文件读入如下字符串:
$data = file_get_contents("/tmp/some_file.txt");
你可以得到类似于你在C中的单个字节:
for($i = 0; $i < strlen($data); ++$i) {
$char = $data[$i];
echo "Byte $i: $char\n";
}
参考文献:
有关字符串访问和按字符修改的信息,请参阅PHP手册
可以通过使用方形数组括号在字符串后面指定所需字符的从零开始的偏移量来访问和修改字符串s中的字符,如
$str[42]
。 将字符串视为用于此目的的字符数组。 当您想要提取或替换多个字符时,可以使用函数substr()
和substr_replace()
。
或者,如果您在搜索和读取文件中的字节后,可以使用SplFileObject
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
echo "$char\n";
}
这不是一个字节数组,而是迭代文件句柄。 SplFileInfo实现SeekableIterator接口。
在旁注中,也有
您可以使用fread()
或file_get_contents()
读取该文件,然后使用str_split()
将其拆分:
$MyArray = str_split($file);
太多的PHP>
$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"; }
$counter = strlen($data); for($i = 0; $i < $counter; ++$i) { $char = data[$i]; echo "Byte $i: $char\\n"; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.