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

Php 如何将空字节或空字节写入文件?,php,text,byte,Php,Text,Byte,我需要写入空字节,或与有效字符不对应的字节,以便以后可以轻松删除它们 我正在处理大文件,当我从文件中删除某些内容时,我想用空字节替换文本,然后再删除它们。我可以使用fseek完成此操作,然后fwritex个空字节写入文件,这样我就不需要每次重新写入整个文件。问题是,如果我使用有效字符覆盖文本,那么当我最终要从文件中删除所有空白时,无法知道所使用的字符是文件的一部分,还是意味着“空白”。有没有办法将“空”数据写入文件,然后稍后清除文件中的所有空数据?使用空字节(\0)。它们通常用作字符串终止符,因

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

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

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

fwrite($h, "\0");
如果需要写入多个空值:

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

类似于
文件的内容(“,“path/to/file”)
不起作用吗?空字节不存在。零字节退出。你照常写。字节是规则数。您需要设计一种文件格式,可以明确地对这些信息进行编码。Good luck.ummm
文件内容(chr(0),“path/to/file”)
没有“空”数据这回事。尝试用空字节填充文件,例如十六进制0x00。在许多语言中,这些标记通常被视为文件标记的eof,将被忽略,但仍会占用空间,您可以稍后覆盖/填充这些空间。