質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

219閲覧

PHP:エラーをまとめてメールで送りたい

igaiga

総合スコア144

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/02/03 06:14

###前提・実現したいこと
不正な値がある場合にメールでアラートが出るようにしているのですが、
現状は1つのチェック項目につき、1つアラートメールが出るようにしています。
エラーが多い場合は何通も届くので改善したく思います。

まとめて送るようにしたいと思うのですが、
下記の変更後のソースコードのように変数にエラー内容を追加していく方法しか思いつきませんでした。。。

大量のファイルをチェックするので、変数に持たせるとメモリを圧迫するのかもしれないと思ったのと、
あまりスマートな方法ではないような気がしたものでアドバイス頂ければ幸いです。

###現状のソースコード

function error_fwrite_message($message) { $to = 'hogehoge@example.com'; $subject = '不正な数値が検出されました'; mb_send_mail($to,$subject,$message,"From:".$to); } if(empty($rent_check1)){ $error_fwrite_message = "check1の値が空です。" . "\n"; error_fwrite_message($error_fwrite_message); }

###変更後のソースコード

function error_fwrite_message($message) { $to = 'hogehoge@example.com'; $subject = '不正な数値が検出されました'; mb_send_mail($to,$subject,$message,"From:".$to); } if(empty($check1)){ $error_fwrite_message += "check1の値が空です。"."\n"; } if(empty($check2)){ $error_fwrite_message += "check2の値が空です。"."\n"; } if(empty($check3)){ $error_fwrite_message += "check3の値が空です。"."\n"; } error_fwrite_message($error_fwrite_message);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

肝心のチェックがどういう仕様かわからないので
なんともいえないですね

とりあえずテンポラリファイルにガンガン書き出して、
全部のチェックがおわったら読み込んでつかうとかですかね?

投稿2017/02/03 06:18

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

igaiga

2017/02/04 02:20

ありがとうございます! テンポラリファイルというのが使えるんですね^^; テキストファイルに書き貯めようかと思ってました。。。 助かりました。チャレンジしてみます。
guest

0

スマートではないですね。自分なら
ログかstderrに書き出して、異常時はエラーコードでexitして、メールはphpを呼び出すシェルスクリプト内でexitコード判定して出す。

投稿2017/02/03 06:27

katsuya141

総合スコア367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

igaiga

2017/02/04 02:19

ありがとうございます!シェルスクリプトが分からないのでハードルが高いですが。。。勉強します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問