• ベストアンサー

携帯用ページに日替わりメッセージを

携帯用のページ(主にi-mode)に、日替わりでメッセージを挿入したいのですが、何か良いPHPをご存じないでしょうか・・・? (完全な日替わりではなく、100~150個くらいのメッセージを日替わりで順番に表示したいのですが・・・。ただし、ランダム表示ではありません) まったくの初心者なので、そもそもこのような事がPHPで出来るのかも分かりません。。PHP以外でも何か良い方法がありましたら、合わせてお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

以下のソースで実現できます。 メッセージファイルに1行1メッセージで書いてください。 1年間で今日が何日目なのかを判断して表示するメッセージを選択するようにしています。 ------------------------------------- <?php // // Copyright (C) 2006 Izayoi Mizuki All Rights Reserved. // // メッセージファイルのパス $file = "messe.txt"; ////////////// // 設定完了 // ////////////// /*メッセージファイルを読み込み*/ $messe = file ($file); /*日付を取得*/ $date = getdate (); /*今年の何日目か取得*/ $month[1] = "31"; if (!($date["year"]%400)) { $month[2] = 29; } else if (!($date["year"]%100)) { $month[2] = 28; } else if (!($date["year"]%4)) { $month[2] = 29; } else { $month[2] = 28; } $month[3] = "31"; $month[4] = "30"; $month[5] = "31"; $month[6] = "30"; $month[7] = "31"; $month[8] = "31"; $month[9] = "30"; $month[10] = "31"; $month[11] = "30"; $month[12] = "31"; $sumdate = $date["mday"]; for ($i = 1; $i <= $date["mon"]; $i++) { $sumdate = $month[$i]; } /*表示するメッセージを決定し表示*/ $messe_count = count ($messe); while ($sumdate >= $messe_count) { $sumdate = $sumdate - $messe_count; } echo $messe[$sumdate]; ?> ------------------------------------- 以上

tmk_02
質問者

お礼

何度もすみません。 上のソースで2日間実験してみましたが、1日目・2日目ともに同じメッセージが表示されました・・・。

tmk_02
質問者

補足

上のソースだと、1年間(366日)分のメッセージを用意しないといけないのでしょうか? また、 「messe.txt」というファイルの容量が大きくなってもページを閲覧する携帯端末の通信料が大きくなることは無いのでしょうか?

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

可能ですよ 日付取得して、用意していたメッセージをアサインしておけば日替わりで表示もランダムも思いのままです 希望とあらば秒単位でも分単位でも時単位でも可能です 1ヶ月単位も1年単位も思いのままです それとも、そのようなフリースクリプトが有るかどうか?という質問内容でしょうか?

tmk_02
質問者

補足

説明不足ですみません。 inu2さんのおっしゃるとおり、「そのようなフリースクリプトが有るかどうか?」という質問内容です。

関連するQ&A