Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要写入空字节或不对应于有效字符的字节,以便以后可以轻松删除它们。
我正在处理大文件,当我从文件中删除某些内容时,我想用空字节替换文本,然后再删除它们。我可以这样做fseek,然后将fwritex 个空字节写入文件,这样我就不需要每次都重写整个文件。问题是,如果我使用有效字符覆盖文本,那么当我最后想从文件中删除所有空白空间时,无法知道使用的这个字符是文件的一部分,还是意味着成为“空白空间”。有没有办法将“空”数据写入文件,然后再清理文件的所有空数据?
fseek
fwrite
使用空字节 ( \0)。这些通常用作字符串终止符,因此根据您读取结果文件的方式,您只能获取到第一个空字节的文本,所以要小心。PHP 中的字符串函数可以识别空值,因此您将能够操作这些字符串。
\0
fwrite($h, "\0");
如果您需要编写多个空值:
fwrite($h, str_repeat("\0", $number));