1

こんにちは、仲間のコーダー、

fwrite に奇妙な問題があり、処理できないのではないかと心配しています。

「.tpl」ファイルの途中に html 要素を「挿入」しようとしていますが、正しく動作させることができません。

ここに私のコードがあります:

$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);

ご覧のとおり、menu.tpl は多くのコンテンツを含む大きなファイルです。

fwrite がコンテンツの追加を開始すると、新しい行を追加する代わりに、以下の行を上書きします。

\n、 、\rなどの多くの改行「コマンド」PHP_EOLを多くの組み合わせで試しましたが(コンテンツの前、コンテンツをセグメントで区切った後)、結果は常に同じです。

コンテンツが既存の上に「貼り付け」られ、結果が壊れます。

私の論理では、fwrite には「貼り付けたコンテンツに ADD MORE SPACE」コマンドが必要ですが、見つかりません。

洞察を事前にありがとう:)

パノス

4

0 に答える 0