2

これら2つの技術的な違いは何だろうと思っていました:

error_log('test', 3, 'test.txt');

file_put_contents('test.txt', 'test', FILE_APPEND);

ただし、どちらも同じように時間がかかるようです。

4

1 に答える 1

2

特に と の間error_log('test', 3, 'test.txt')には、ドキュメントに記載されている内容 ( file_put_contentserror_logfile_put_contents('test.txt', 'test', FILE_APPEND) )による違いはありません。どちらもファイルに追加するだけです。

関数間の主な違いはerror_log、ファイルにログを記録するだけでなく、PHP のシステム ロガーに送信する機能、エラーを電子メールで送信する機能、または01または4.

を使用file_put_contentsすると、文字列、配列、またはストリーム リソースerror_logを指定できますが、メッセージとして文字列を指定することしかできません。これは、ログに記録したいデータに応じて影響を与える可能性がありますが、例は単なる文字列であるため、重要性はありません。

あなたの例のように、単純な文字列エラーメッセージをファイルに書き込んでいる場合、それらは同じ最終結果になります。そうは言っても、error_log後で電子メールメッセージを送信するための変換が容易になり、関数名がコードの将来のメンテナーのタスクに適しているため、使用することをお勧めします.

エラーメッセージを書くためにそれを使用するつもりがない場合(そして、質問のタイトルの単語の選択のためにこれを言うだけです-「データを保存するとき...」対「エラーを保存するとき...」)、file_put_contents上記の段落と同様の理由で、関数名が将来のコード管理者のタスクに適しているという点で、を使用することをお勧めします。

于 2013-06-22T09:11:09.940 に答える