- ベストアンサー
アクセス毎にリンクを自動変更
モバイルサイトを運営しています。リンクをローテーションで表示させたいと思っています☆(ランダムではありません) 例:リンク数3の場合(1つずつ表示) [PR]○○○○ ○○○○○○ ↓更新↓ [PR]△△△△ △△△△△△ ↓更新↓ [PR]×××× ×××××× ↓更新↓最初に戻る [PR]○○○○ ○○○○○○ ↓更新↓ [PR]△△△△ △△△△△△ ↓更新↓ [PR]×××× ×××××× 繰り返しです このようなプログラムは簡単に作れるのでしょうか。どなたか分かる方がいらっしゃいましたらよろしくお願いします♪
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下のソースファイルをどこか適当なディレクトリに保存して下さい(保存するディレクトリのパーミッションは777にして下しさい) ------------------------------------------------- <html lang="ja"> <head> <title>Test</title> <meta http-equiv="Content-type" content="text/html"; charset="Shift-JIS"> </head> <body> <?PHP /* 入出力ファイル名 */ $file_name = "link.txt"; /* ファイルが無ければ新規書き出し */ if ( !file_exists($file_name) ) { $fp=fopen($file_name,"w"); fputs($fp,"1"); fclose($fp); } /* ローテーションファイルを開く */ $fp=fopen($file_name,"r+"); flock($fp, 2); /* 行の読み込み */ $line = fgets($fp,32); /* ローテーション番号によって出力する文字を変更 */ if ( $line == 1 ) { print "LINK1"; $line++; } elseif ( $line == 2 ) { print "LINK2"; $line++; } elseif ( $line == 3 ) { print "LINK3"; $line=1; } else { print "LINK1"; $line=1; } fseek($fp, 0); fputs($fp,$line); flock($fp,3); fclose($fp); ?> </body> </html>
その他の回答 (2)
- wakame0729
- ベストアンサー率32% (245/765)
>ソースを書いて頂けたら 僕は時給換算すると約\4,000ですから、そーだなー30分として\2,000でやりますよ。って甘えないのっ。ここはQ&Aサイトであって、無料プログラム教室でも無料スクリプト作成屋じゃないんですから。 「こんなものを作りたい」というのであれば、まずは自分で出来るところまではやらなきゃ。もし全然わからないのだとしたら、入門用の本などを買ってきて基本的なPHPの知識は付けないと。それが無理ならお金払って講座に行くなりしないと。その上で、フリーのスクリプトや本のサンプルから似たようなものを探して自分で組んでみないと。それで具体的にわからない部分や、謎が出てきた時に質問するんですよ。これじゃ答えようがありませんし、答えてくれた方にも失礼ですよ。
補足
わざわざありがとうございます。二千円って安いですね。出直してきます~
- gmac
- ベストアンサー率70% (12/17)
カウンターを設けてはどうでしょうか? カウンター用のファイルを用意しておいて、アクセスがあるたびにそのファイルを読み書きします。 ファイルの内容が"1"なら1つ目のリンクを表示させてからカウンターの値(ファイルの内容)を"2"にします。次のアクセスではファイルの内容が"2"なので2つ目のリンクを表示させます。 カウンターの値が"3"になれば次に書き込む値を"1"にすれば良いと思います。
補足
ありがとうございます。確かにそうですね。しかし初心者ですのでいまいちよく分かりません。できればソースを書いて頂けたら幸いです…。
お礼
わかりやすく書いて頂きありがとうございます。本当に感謝しています☆☆