0

date()とエラーを取得してファイルに挿入するエラーシステムがあります。

$fp = fopen('errorFile.txt', 'a');
$message = "At the time: " . date("Y,m,d\|H:i:s") . " the following error took place: " . $e->getMessage();
fwrite($fp, $message);
fclose($fp);

私の問題: 2 番目のパラメーターで fopen を開始するには、ポインターを開始位置にする必要があり、それはマニュアルを見て、パラメーターが書き込み専用である必要があり、ポインターを開始位置に置き、ファイルをゼロに切り捨てないでください。 length、そして私が見つけたのはパラメーター'a'だけです。毎回最後のポインターを除いてすべて'a 'で問題ありません。したがって、使用できるパラメーターを誰かが知っている場合は、開始時のポインター書き込みのみであり、ファイルの長さをゼロに切り捨てることはありません。また、ご覧のように日付を挿入しようとしています。たとえば、ここの時間は18:00 挿入された時刻は 15:00です。

4

2 に答える 2

1

最初にポインターを取得するには、次のような fseek 関数を使用する必要があります。

fseek($fp, 0);//place pointer at beginning 

fseek の後、fwrite を使用してファイルに書き込むことができます

$fp = fopen('errorFile.txt', 'a');
$message = "At the time: " . date("Y,m,d\|H:i:s") . " the following error took place: " . $e->getMessage();
 fseek($fp, 0);
fwrite($fp, $message);
fclose($fp);

fseek の詳細については、PHP のドキュメントを参照してください。

于 2016-07-07T14:13:57.147 に答える
1

このロジックを試すことができます

$message = "At the time: " . date("Y,m,d\|H:i:s") . " the following error took place: " . $e->getMessage();

$file = '/path/to/file';

$fileContents = file_get_contents($file);

file_put_contents($file, $message . $fileContents);
于 2012-07-30T15:37:29.543 に答える