如何将空或空字节写入文件?

时间:2013-05-27 16:31:33

标签: php text byte

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

我正在使用大文件,当我从文件中删除某些东西时,我想用空字节替换文本,然后再删除它们。我可以使用fseek然后fwrite x个空字节来执行此操作,这样我每次都不需要重写整个文件。问题是,如果我使用有效字符覆盖文本,那么当我想从文件中删除所有空白空间时,无法知道这个字符是否是文件的一部分,或者意味着是“空的空间”。有没有办法将“空”数据写入文件,然后再清除该文件的所有空数据?

1 个答案:

答案 0 :(得分:1)

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

fwrite($h, "\0");

如果您需要写多个空值:

fwrite($h, str_repeat("\0", $number));