PHP FrWORD——如何在文件中间插入新行而不是重写它们

PHP FrWORD——如何在文件中间插入新行而不是重写它们,php,fwrite,overwrite,Php,Fwrite,Overwrite,大家好,编码员们 我对fwrite有一个奇怪的问题,恐怕我无法处理 我试图把一个HTML元素插入'.tp'文件的中间,但是我不能使它正常工作。 这是我的密码: $config = './menu.tpl'; $file=fopen($config,"r+") or exit("Unable to open file!"); $insertPos=0; // used as index while (!feof($file)) { $line=fgets($file);

大家好,编码员们

我对fwrite有一个奇怪的问题,恐怕我无法处理

我试图把一个HTML元素插入'.tp'文件的中间,但是我不能使它正常工作。

这是我的密码:

$config = './menu.tpl';
$file=fopen($config,"r+") or exit("Unable to open file!");
$insertPos=0;        // used as index
while (!feof($file)) {
    $line=fgets($file);
    if (strpos($line, '<div id="target">the point of insertion</div>')!==false) {
        $insertPos=ftell($file);
    }
}

fseek($file,$insertPos);
fwrite($file, 'new content');
fclose($file);
$config='./menu.tpl';
$file=fopen($config,“r+”)或退出(“无法打开文件!”);
$insertPos=0;//用作索引
而(!feof($file)){
$line=fgets($file);
if(strpos($line,‘插入点’)!==false){
$insertPos=ftell($file);
}
}
fseek($file,$insertPos);
fwrite($file,'newcontent');
fclose($文件);
你看,menu.tpl是一个包含大量内容的大文件

当fwrite开始附加内容时, 它将覆盖下面的行,而不是添加新行

我尝试了许多新的命令行,比如
\n
\r
PHP\u EOL
,它们有很多组合(在内容之前,之后,将内容分段) 但结果总是一样的:

内容被“粘贴”到现有内容的上方,导致结果不完整

我的逻辑要求fwrite必须有一个“为粘贴内容添加更多空间”命令,但我找不到

提前感谢您提供的任何见解:)


帕诺斯

看这里,谢谢旺达姆,但我已经看到了所有这些选项。我希望避免文件拆分,我希望找到一个更优雅的解决方案:)