現在PHPのcronを使って定期的に携帯電話にメールを送りたいと考えています。
サーバーはサクラサーバーを使用してるのですが、この会社はコントロールパネル画面でcronの設定画面があり、スタンダードプランだと5つしか設定できないので、自分で出来ることなら設定していくつかのcronを動かしてみたいと考えています。
実際に行うにあたって少し分からない点があり、
★個人的にcronを使えるようにするには何かサーバー上で設定をしないといけないのではないか?
ということです。(さくらはコントロールパネルで設定できるので難しいのではないかと勝手に先入観を持っています。。)
そして それが実行できたら
★PHPスクリプトに
何々をしないといけない 見たいなお知らせ文章のメールを 指定した曜日、時間帯にmb_send_mail関数を使ってメールを送りたいと考えています。
コメント欄にて、このようなスクリプト構成になるのではないか?というのを考えてみたのですが見ていただけないでしょうか?
cronというのがよく分かっていないところがいくつかあり、お手数をおかけしますが分かる方おりましたらどうぞよろしくお願いいたします。
cronというのは指定された時間に指定したスクリプトを実行できる機能と考えると良いと思いますよ。
たとえば毎時間にhour.phpというスクリプトを実行するように設定してhour.phpの中身は以下のようにすると
水曜日の10時にメールが送信されますよ!
<?PHP
// 水曜日の10時
if(date('D') == 水曜日 && date('H') == 10時){
mb_send_mail(test@docomo.ne.jp,'ご飯を食べる。',’ご飯’);
}
?>
cronというのは指定された時間に指定したスクリプトを実行できる機能と考えると良いと思いますよ。
たとえば毎時間にhour.phpというスクリプトを実行するように設定してhour.phpの中身は以下のようにすると
水曜日の10時にメールが送信されますよ!
<?PHP
// 水曜日の10時
if(date('D') == 水曜日 && date('H') == 10時){
mb_send_mail(test@docomo.ne.jp,'ご飯を食べる。',’ご飯’);
}
?>
ご回答ありがとうございます。
if文で出来るのですね。。
cronの設定ですが
毎時間にhour.phpというスクリプトを実行するように設定
とは個人で設定する場合、どのようになるのでしょうか??
サーバー上でcronを実行させる命令が必要な気がするのですが。
やり方は色々あるかとは思いますが、まずは cron について、もう少し。
#1 の方も書かれているように、そもそも cron というのは簡単に言えば
「指定した曜日、時間帯、時間(または間隔)に、指定した処理(スクリプト)を実行する」
ための仕掛けです。
従って、お尋ねになっている
「指定した指定した曜日、時間帯にmb_send_mail関数を使ってメールを送りたい」
という要件の場合、
・メールを送信するスクリプトを用意する
・cron でスクリプトを実行する曜日、時間帯を指定する
ということで実現できます。
ですので、#1 にあるような if 文での判断も、本来不要です。
ただ、送るメールの内容がその都度変化するなど、複雑になるのであれば当然スクリプトの
中身は複雑になりますが、そのスクリプトを実行する曜日・時間帯・間隔が決まっているのであれば
cron の設定は一つですみます。
さくらでの cron 設定については、以下のページに親切な解説があったので参考にされると良いでしょう。
http://senrioka-info.net/0_google_sitemap/cron.htm
あとは少し細かい話になりますが、もともとの cron の設定(さくらのコントロールパネルの裏側)
については、こんなところを読んでみるのも良いかもしれません。
http://www.express.nec.co.jp/linux/distributions/knowledge/syste...
ご回答ありがとうございます。
サーバー全体のcronは管理者が/var/cronとか/etc/cronに書き込みます。
個人ユーザーでも使える場合は、cronコマンドを使います。
http://yang.amp.i.kyoto-u.ac.jp/~yyama/FreeBSD-3.4/misc/cron-j.h...
ご回答ありがとうございます。
ご回答ありがとうございます。
if文で出来るのですね。。
cronの設定ですが
毎時間にhour.phpというスクリプトを実行するように設定
とは個人で設定する場合、どのようになるのでしょうか??
サーバー上でcronを実行させる命令が必要な気がするのですが。