- ベストアンサー
phpで24時間おきに任意のテキストを表示
index.phpに、list.txtから一日ずつ異なる行を表示するにはどうしたらよいか教えてください。 index.php は<p>本日のおすすめは「○○○」</p> list.txtには1行目から順にメニューリスト からあげ弁当 りんごケーキ 焼き魚定食 ・・・・ index.phpの○○○の部分に記述するPHPを知りたいです。 例えば4/1にこのURLにアクセスすると、リストの1行目(からあげ弁当)が表示されており、 4/2にアクセスすると2行目(りんごケーキ)、 4/3は3行目…という感じです。 当方あまり詳しくないため、お分かりの方、どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
自分で学ぶつもりがない(とにかく動くソースが欲しいだけ)なら、外注に頼めばいいと思うのですけどね。 #ただ働きはいなんだけどww <?php $list = file('list.txt', FILE_IGNORE_NEW_LINES); $i = intval(date('j')) - 1; if ($i > 0) { print $list[$i]; } ?>
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
とりあえず、list.txtは31行あるという前提でいいんでしょうか?で4/1と5/1はどちらも1行目でいいということですか? #極端な話、4/1が開始というだけで #366行あったりして(汗 「31行あって1ヶ月でローテーション」と「7行あって一週間でローテーション」なら何行目を使うかが変わってくるので、そのあたりをキチンと定義しないとコーディング出来ませんよ。 それとも「何行あるかによってその行数をローテーション」ですかね。 それが決まれ、あとはば(すでに回答がありますが)file()で読み込むのと日付から選択する行を決める(dateでの形式を参照)だけでいいと思います。 http://www.php.net/manual/ja/function.date.php
補足
説明が足らず申し訳ございませんでした。 はい、list.txtは31行あるという前提で構いません。 毎月、その日付の行を見に行く感じです。 すみません、私はプログラマーではないのでHTMLはわかるのですが、「file()で読み込むのと日付から選択する行を決める(dateでの形式を参照)」の意味が分かりません。 <?php ~ ?>の間に入るプログラムの部分を教えて頂けませんでしょうか。 よろしくお願いいたします。
- Tasuke22
- ベストアンサー率33% (1799/5383)
用件がはっきりしていて、もうそのままプログラムが叩ける状態に思います。 つまり、 日付関数を使い本日の日にちを得る。 日にち回ファイルの行数を読む。 読んだテキストを出力する。 という流れですね。 コレの中で分からない部分があれば、また質問されるといいでしょう。 向上心がないなら答えそのものを求めたらいいと思います。
補足
はい、その流れでテキストを出力したいです。 当方プログラミングができませんので、その流れをどうのようにPHPで書けるのか、おわかりのかたに教えて頂きたく、こちらで質問させて頂きました。 index.phpの○○○の部分、具体的には<?php~ ?>の形で~の部分がどのようになるのか、教えて頂けますと助かります。 よろしくお願いいたします。
お礼
ありがとうございました。 助かりました。 ただ働きと思われるようなご質問に答えてくださって、心から感謝しております。