gpt4 book ai didi

php - 替换文件中的一行而不重写整个文件(在 PHP 中)

转载 作者:可可西里 更新时间:2023-10-31 22:14:15 26 4
gpt4 key购买 nike

假设我有一个中等大小的文本文件(~850kb,10,000 多行)

我想替换分布在文件中的特定行(或几行)。

当前执行此操作的方法包括重写整个文件。我目前使用的方法是逐行读取整个文件,写入 .tmp 文件,完成后,我将 tmp 文件重命名()为原始源文件。

它有效,但速度很慢。当然,随着文件的增长,执行时间也会增长。

是否有另一种方法(使用 PHP)来完成工作,而不必每次需要替换或删除一两行时都重写整个文件?

谢谢!我环顾四周,在 stackoverflow 上找不到这个问题的答案。

最佳答案

如果替换的行与原始行的大小完全相同,那么您只需在文件中的那个位置使用 fwrite() 就可以了。但如果它的长度不同(更短更长),您将不得不重写替换后的文件部分。

没有办法解决这个问题。较短的"new"行会在文件中留下空白,较长的"new"行会覆盖下一行的第一部分。

基本上,您是在问是否可以在另一 block 板的中间插入一 block 木头,而无需移动原来的板。

关于php - 替换文件中的一行而不重写整个文件(在 PHP 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com