1

我需要写入空字节或不对应于有效字符的字节,以便以后可以轻松删除它们。

我正在处理大文件,当我从文件中删除某些内容时,我想用空字节替换文本,然后再删除它们。我可以这样做fseek,然后将fwritex 个空字节写入文件,这样我就不需要每次都重写整个文件。问题是,如果我使用有效字符覆盖文本,那么当我最后想从文件中删除所有空白空间时,无法知道使用的这个字符是文件的一部分,还是意味着成为“空白空间”。有没有办法将“空”数据写入文件,然后再清理文件的所有空数据?

4

1 回答 1

2

使用空字节 ( \0)。这些通常用作字符串终止符,因此根据您读取结果文件的方式,您只能获取到第一个空字节的文本,所以要小心。PHP 中的字符串函数可以识别空值,因此您将能够操作这些字符串。

fwrite($h, "\0");

如果您需要编写多个空值:

fwrite($h, str_repeat("\0", $number));
于 2015-12-09T12:26:49.647 回答