- ベストアンサー
php 外部ファイルについて
php初心者です。 テキスト表示でランダムリンクをしたいのですが リンク先のURLとテキストを外部ファイルにしたいのです。 現在------------------------ <?php srand((double)microtime()*1000000); $ad_list1 = file("20.txt"); $ad_key1 = array_rand($ad_list1, 2); $ad1 = $ad_list1[$ad_key1[0]]; // 表示 echo "ID=$ad1"; ?> ----------------------------- ↑このphpソースを組み入れ、外部ファイル20.txtには ----------------------------- <a href="http://domain.jp/?id=111">111</a> <a href="http://domain.jp/?id=222">222</a> <a href="http://domain.jp/?id=333">333</a> ・ ・ ------------------------------ という感じでリンク先URLを1行ずつ書いています。 テキスト表示は ID=111 という感じで表示されるようにはなったのですが phpソースの中に http://domain.jp/? までを組み込んで、外部ファイルの内容を ------------------------------ 111 222 333 ・ ・ ------------------------------ とするだけで、 表示される ID=111をクリックすると http://domain.jp/?111 のページが表示されるようにするには どうすれば良いのでしょうか。 また、そういった事は可能でしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> URLに埋め込むものがちょっと長ったらしい英数字の場合、 > 表示されるものは簡単な平仮名などにしたいと思います。 の意味がわかりにくいのですが、 例えば idが111、表示させたい文字が「あいうえお」としたとき、 外部ファイルには 111:あいうえお 222:かきくけこ の様な要領で書いておき $ad1 = $ad_list1[$ad_key1[0]]; のあとに $array_ad1 = explode(":", $ad1); と記述します。あとはechoの部分を echo "<a href=\"http ://*******.jp/?id=" . $array_ad1[0] . "\">" . $array_ad1[1] . "</a>"; とします。 なお、"111:あいうえお" の ":" は、コンマでもスペースでも何でも構いません。後ろの文字列(あいうえお等)で使用しない文字でexplode(":", $ad1) の ":" と一致していればよいです。
その他の回答 (2)
- kaiwarepon
- ベストアンサー率49% (47/95)
echo "ID=$ad1";の部分を echo "<a href=\"http ://*******.jp/?id=" . $ad1 . "\">" . $ad1 . "</a>"; に変えるだけです。 ただし、ランダムアドちゃんのように表示される文字を数字ではなく日本語のテキストにしたいなら、もう少し手を加えなければいけません、ということを付け加えておきます。 サンプルとしてURLを記述する時は、安易にexampleとかdomainとか書くと実在する場合があるので充分注意しましょう。
お礼
有難うございます!!できました!! それと >実在する場合があるので充分注意しましょう。 実在していました(汗) 以後気をつけるようにします。 ご指摘有難うございます。 表示される文字についてですが、 URLに埋め込むものがちょっと長ったらしい英数字の場合、 表示されるものは簡単な平仮名などにしたいと思います。 こういった場合は外部ファイルの中に手を加えなければならないのでしょうか。 どのように手を加えなければならないのかわからないのですが、 <a href="http://******.jp/id=222>111</a> <a href="http://******.jp/id=222>222</a> ・ ・ と 普通に並べた方が早いのでしょうか。 何度も申し訳ないですが、御時間のある時で結構ですので よろしくお願いします。
- yambejp
- ベストアンサー率51% (3827/7415)
記述に一貫性がないので念のため確認ですが http://domain.jp/?id=111 と http://domain.jp/?111 の2つの記述があるのは なにか意味があるのですか? どちらかでよいのですか? 外部ファイルというのは、どのようなものを想定 していますか? たんにrequireやincludeしたいのか それともfopenとかしていいのか、 質問者さんの技術力がわからないので、適当な 回答がつけづらいので、仕様をもう少し、明確に なさることをお勧めします
補足
すみません、途中で書き間違えています>< http://domain.jp/?111 ↓ http://domain.jp/?id=111 http://domain.jp/? ↓ http://domain.jp/?id= でお願いします。 requireやincludeを使ってphpスクリプトそのものを外部ファイル化するのではなく、 ランダムでリンクするURLを外部ファイル化しています。 URLはhttp://domain.jp/?id=までが全て同じURLなので、更新が楽になるようにid=以降の数字部分だけを外部ファイル化したいと思っています。 http://php.s3.to/simple/ ↑ここのランダムアドちゃんを参考にしました。 これを少し改造したいという感じです。 技術力は全くありません>< 先日やっとローカルテストできる環境が整ったところで、実際にphpに触れるのはこれが初めてというレベルです。 phpを使わないhtmlとJavascriptのみのHPの運営が出来る程度です。 よろしくお願いします。
お礼
有難うございます!こちらも出来ました! これで200ページの更新が100ページ分になります(嬉) 再度お答えくださって有難うございました。 また質問を見かけたらよろしくお願いします。