假设我有一个大小适中的文本文件(~850kb,10,000 多行)
我想替换文件中分布的特定行(或几行)。
当前执行此操作的方法包括重写整个文件。我当前使用的方法是逐行读取整个文件,写入 .tmp 文件,完成后,我将 tmp 文件重命名()为原始源文件。
它有效,但速度很慢。当然,随着文件的增长,执行时间也会增长。
是否有另一种方法(使用 PHP)来完成工作,而不必每次需要替换或删除一两行时重写整个文件?
谢谢!我环顾四周,在 stackoverflow 上找不到这个问题的答案。
如果替换的尺寸与原始线的尺寸完全相同,那么您可以简单地fwrite()
在文件中的那个位置,一切都很好。但如果它的长度不同(更短OR更长),您将必须重写替换后的文件部分。
这是没有办法解决的。较短的“新”行将在文件中留下间隙,较长的“新”行将覆盖下一行的第一部分。
基本上,您是在问是否可以在另一块木板的中间插入一块木头,而无需移动原始木板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)