0

重複の可能性:
PHP でファイルの先頭に書き込む必要がある

ログファイルを作成しようとしています。しかし、ファイルの先頭にデータを挿入したい。私は多くの解決策を読みましたが、それらの多くは次の解決策を与えられています。

-> 追加モードでファイルを開きます。
-> 変数内のデータ全体をコピーします。
-> データを一時変数と連結します。
-> ファイル全体を書き換えます。

次のリンクにアクセスして読みました。 PHPでファイルの先頭に書き込む必要があります

ログ ファイルが 50 ~ 85 MB 程度の場合、このプロセスには時間がかかると思います。

ファイルポインタをファイルの先頭に移動してから、データを挿入してそのファイルを保存することはできますか?

それがうまくいくように最適化された方法が必要です。

4

2 に答える 2

2

いいえ、ファイルの先頭に新しいデータを貼り付けることはできません。選択肢は次のとおりです。

  1. 新しいファイルを開き、新しいデータを書き込み、古いファイルを新しいファイルに追加します
  2. 元のファイルを開き、古いデータをファイルの「下」にコピーしてから、ファイルの先頭を上書きします。

ファイルの先頭でログを記録する必要がある理由はありますか? ファイルの最後の部分だけを読み取るのは簡単です。

于 2012-09-04T16:57:17.357 に答える
0

ファイルが大きくなく、PHP 用のメモリが十分にある場合は、ここで簡単な PHP を使用できます。

$toAdd = 'Text to add in beginning';
$file = '/path/to/your/file';
$temp = file_get_contents($file);
file_put_contents($file, $toAdd . $temp);
于 2012-09-04T17:01:09.417 に答える