dポイントプレゼントキャンペーン実施中!

index.phpに、list.txtから一日ずつ異なる行を表示するにはどうしたらよいか教えてください。

index.php は<p>本日のおすすめは「○○○」</p>

list.txtには1行目から順にメニューリスト
からあげ弁当
りんごケーキ
焼き魚定食
・・・・

index.phpの○○○の部分に記述するPHPを知りたいです。

例えば4/1にこのURLにアクセスすると、リストの1行目(からあげ弁当)が表示されており、
4/2にアクセスすると2行目(りんごケーキ)、
4/3は3行目…という感じです。


当方あまり詳しくないため、お分かりの方、どうぞよろしくお願いいたします。

A 回答 (3件)

自分で学ぶつもりがない(とにかく動くソースが欲しいだけ)なら、外注に頼めばいいと思うのですけどね。



#ただ働きはいなんだけどww

<?php
$list = file('list.txt', FILE_IGNORE_NEW_LINES);
$i = intval(date('j')) - 1;
if ($i > 0) { print $list[$i]; }
?>
    • good
    • 0
この回答へのお礼

ありがとうございました。
助かりました。

ただ働きと思われるようなご質問に答えてくださって、心から感謝しております。

お礼日時:2013/03/24 15:07

とりあえず、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 ~ ?>の間に入るプログラムの部分を教えて頂けませんでしょうか。

よろしくお願いいたします。

補足日時:2013/03/22 06:47
    • good
    • 0

用件がはっきりしていて、もうそのままプログラムが叩ける状態に思います。



つまり、
日付関数を使い本日の日にちを得る。
日にち回ファイルの行数を読む。
読んだテキストを出力する。

という流れですね。

コレの中で分からない部分があれば、また質問されるといいでしょう。
向上心がないなら答えそのものを求めたらいいと思います。

この回答への補足

はい、その流れでテキストを出力したいです。

当方プログラミングができませんので、その流れをどうのようにPHPで書けるのか、おわかりのかたに教えて頂きたく、こちらで質問させて頂きました。

index.phpの○○○の部分、具体的には<?php~ ?>の形で~の部分がどのようになるのか、教えて頂けますと助かります。

よろしくお願いいたします。

補足日時:2013/03/22 06:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!