• ベストアンサー

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 のページが表示されるようにするには どうすれば良いのでしょうか。 また、そういった事は可能でしょうか。 よろしくお願いします。

  • PHP
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
回答No.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) の ":" と一致していればよいです。

chiezou-yon
質問者

お礼

有難うございます!こちらも出来ました! これで200ページの更新が100ページ分になります(嬉) 再度お答えくださって有難うございました。 また質問を見かけたらよろしくお願いします。

その他の回答 (2)

回答No.2

echo "ID=$ad1";の部分を echo "<a href=\"http ://*******.jp/?id=" . $ad1 . "\">" . $ad1 . "</a>"; に変えるだけです。 ただし、ランダムアドちゃんのように表示される文字を数字ではなく日本語のテキストにしたいなら、もう少し手を加えなければいけません、ということを付け加えておきます。 サンプルとしてURLを記述する時は、安易にexampleとかdomainとか書くと実在する場合があるので充分注意しましょう。

chiezou-yon
質問者

お礼

有難うございます!!できました!! それと >実在する場合があるので充分注意しましょう。 実在していました(汗) 以後気をつけるようにします。 ご指摘有難うございます。 表示される文字についてですが、 URLに埋め込むものがちょっと長ったらしい英数字の場合、 表示されるものは簡単な平仮名などにしたいと思います。 こういった場合は外部ファイルの中に手を加えなければならないのでしょうか。 どのように手を加えなければならないのかわからないのですが、 <a href="http://******.jp/id=222>111</a> <a href="http://******.jp/id=222>222</a> ・ ・ と 普通に並べた方が早いのでしょうか。 何度も申し訳ないですが、御時間のある時で結構ですので よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

記述に一貫性がないので念のため確認ですが http://domain.jp/?id=111 と http://domain.jp/?111 の2つの記述があるのは なにか意味があるのですか? どちらかでよいのですか? 外部ファイルというのは、どのようなものを想定 していますか? たんにrequireやincludeしたいのか それともfopenとかしていいのか、 質問者さんの技術力がわからないので、適当な 回答がつけづらいので、仕様をもう少し、明確に なさることをお勧めします

chiezou-yon
質問者

補足

すみません、途中で書き間違えています>< http://domain.jp/?111http://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の運営が出来る程度です。 よろしくお願いします。

関連するQ&A

  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • phpファイルで"?"と"&"を含むリンクが張れない

    a.phpでphpロジック外部に書いたHTMLリンクタグ <a href ="http://aaa.**.jp/bbb.php?id=231fa&pass=1">リンク</a> がブラウザに表示できません。 "?"と"&"と除いた <a href ="http://aaa.**.jp/bbb.php">リンク</a> はもちろんきちんと表示できるのですが。。 "&"を"&amp;"と変更してもだめでした。 "?"の変換文字コードはないみたいですし。。。 どなたかご教授ください。 宜しくお願いします。

    • 締切済み
    • PHP
  • 外部phpファイルを読み込むことができない

    ネットで検索し続けても本を買ってもどうしても解決しないのです。 教えてください。 やりたいことはMySQLのデータベースにphpでアクセスしに行き、 phpファイル上に contents=ああああああ と表示させたものを Flashで読み込んでテキストフィールドに表示させるということです。 ソースは次のようになっています。(FLASH上のテキストフィールドは「textarea」です。) onClipEvent (load) { my_lv = new LoadVars(); my_lv.onLoad = function(success) { if (success) { textarea.text = my_lv.contents; } else { textarea.text = "読み込みに失敗しました。"; } }; my_lv.load('contents.php?id=1'); } 基本的なLoadvarsのサンプルのようですが、contents.php?id=1が 読み込めません。(contents.php?id=1に直接アクセスすると contents=あああああああああ と表示されます) このcontents.php?id=1をcontents.txtのようにテキストファイルにして my_lv.load('contents.txt');とするとすんなりと読み込めます。 FLASHのバージョンは8で、httpsのサイト内で表示を行おうとしています。ファイルのパーミッションをすべて777にしてもだめでした。また、contents.phpを絶対パス指定してもだめでした。 おそらくちょっとしたことだと思うのですが、もう何日もはまっています。どなたか教えていただけないでしょうか?

    • ベストアンサー
    • Flash
  • よく使われてるPHPランダム広告について。

    よく使われてる(ネット上で見かける)PHPランダム広告についてですが、 // 初期化 srand((double)microtime()*1000000); $ad_list1 = file($absolute_path."/modules/ads/ads_01.txt"); $ad_key1 = array_rand($ad_list1, 2); // 広告の表示 $ad1 = $ad_list1[$ad_key1[0]]; 1.現在でも、srand関数を使う必要がありますか? 2.広告の表示は1つなのですが、array_rand($ad_list1, 2);の変数以外の部分の引数を1もしくは、何も書かない場合は広告が表示しないのは、何故なのでしょうか。2を書かないとだめで。。。 ちなみに、ads_01.txtの内容は、2行。 <a href=""><img src="" alt="" /></a> <a href=""><img src="" alt="" /></a> (""の内容は省略しています。) 色々調べたり、試しましたが、Xでした。。。 みなさん、ご回答いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 外部ファイル作成でのエラー

    つも大変お世話になっています。 どうしてなのか、まったく分からずぜひお知恵をお貸し下さい 以下のソースで一部PHPを使用したいのですが、上手く行かずに混乱しております。 <div id="NAVI"> <h2 class="navi_title">Contents</h2> <ul class="navi"><!--↓↓サイト内移動用のナビゲーション↓↓--> <li class="navi_list" id="ON"><a href="./index.html">INDEX</a></li> <li class="navi_list"><a href="./about.html">ABOUT</a></li> <li class="navi_list"><a href="./sample.html">SAMPLE</a></li> <li class="navi_list"><a href="./sample.html">SAMPLE</a></li> <li class="navi_list"><a href="./sample.html">SAMPLE</a></li> </ul> </div> この部分を外部ファイルでコンテンツを外部ファイルで増やせるようにしたいのです。 そこで。 <?php require("sample.txt"); ?> をその部分に挿入し、外部ファイル(sampleに上記のソースを貼り付けました。)ですが、アップしてみるとエラーが出ていまして。 Parse error: syntax error, unexpected T_STRING in (ここはファイル名です) on line 2 と出ました。 原因が分からず、説明不足なのか不安たっぷりな感じなのですが、ぜひご教示頂けたら・・・と思います。 よろしくお願いします。

    • 締切済み
    • PHP
  • javascriptを外部ファイルに置く方法

    スタイルシートを外部ファイルにおいてlinkで読み込んでいます。 ふとjavascriptもテキストタイプを変えてやればいくのではないかと 名案が閃きました。そこで下のようにしてみました。 <link rel="script" href="java.txt" type="text/javascript"> しかしダメでした。我ながらいいアイディアだと思ったのですが・・・ どうも調べてみたらlinkではいかないようでした。 外部にあるjavascriptを読み込む場合はどうすればいいのでしょうか。

    • ベストアンサー
    • HTML
  • onclickで別ドメインのphpを実行

    テキストリンクをクリックした時に別ドメインのphpファイルを実行する方法を教えてください。 あるテキストリンクをクリックしたら、そのリンク先に移動するとともに、とあるサーバーにあるphpファイルを実行させたいです。 <a href="http://www.***.com/" onclick="http://www.abc.jp/efg.php">テキストリンク</a> 上記のようにしましたが、phpが実行されませんでした。ネット上でJavascript(ajax)を使った方法などが紹介されていたので試しましたが、やはりphpが実行されませんでした。 具体的なソースを記述した、ご教授を宜しくお願い致します。

  • 外部PHPファイルをHTMLに呼び出しでランダム・・・

    html記述で<a href="http://hoge.jp/link.php"><img src="http://hoge.jp/image.php"></a> と記述すると、ランダムで画像リンクが表示されるプログラムでつまづいています。 ランダムで出力される内容がlink.phpとimage.phpでバラバラになってしまいます。 ・関連性を持たせるにはどうしたら良いでしょうか? ・そもそもこのような仕様は可能でしょうか? 目的としては、HTMLのみ利用なサーバ上でランダム画像リンクの表示です。 かなり難易度が高く自分でも3週間ほど行き詰っています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • htmlリンク、外部ファイルオープン

    htmlの<a>タグで -------------------------------------- <a href="aaa.txt">リンク</a> -------------------------------------- とするとaaa.txtのテキストファイルが開きますが、 ブラウザ上で表示されます。(ブラウザ上にaaa.txtファイルの内容が展開) 調べた結果 .txt .pdf .pptの3種類はブラウザ上の表示になり、 .xls .docは「開く」「保存」「キャンセル」のアラートが表示され 「開く」を選択するとExcel又はWordが起動し、その上でファイルが展開されます。 .txt .pdf .ppt に関してもブラウザ上ではなく、 それぞれ、メモ帳(テキストエディタ)、AcrobatReader、PowerPoint を開いてその上でファイルが展開するようにする事は可能なのでしょうか? .xls .docを開いた際の「開く」「保存」「キャンセル」のアラートが表示されるパターンでも構いません。 アラートが出なければベストです。

  • PHPのinclude_onceで外部ファイル化したサイトURLがリン

    PHPのinclude_onceで外部ファイル化したサイトURLがリンクしてくれない。 Webサイト制作中ですが、サイトURLをいたるところに記述するのと、同じ構造のサイトをいくつも制作するので、使い回しにもなるということで、サイトURLだけを記述したurl.phpという外部ファイルを作成しました。 すると、少なくとも以下のような場合、リンクをクリックするとページが存在しないというページが開いてしまいます。 どうやら相対パスと勝手に解釈されてhrefタグの記述がおかしくなるようです。 どうやって直せるでしょうか? ●リンクをクリックして開いたブラウザアドレスバーに出たURLは以下です。 http://僕のサイト.jp/syohin/%EF%BB%BFhttp://xn--u9jxf0b3dt27s.jp ●ブラウザ下部のステータスバーに出ているリンク先は以下です。 http://僕のサイト.jp/product/http://xn--u9jxf0b3dt27s.jp ●HTMLの記述は以下です。 <a href="<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> ●url.phpに書いた記述はサイトURLだけです。以下です。 http://xn--u9jxf0b3dt27s.jp url.phpを置いているディレクトリへのパスがおかしいのか?と思い、サイト最上階、つまりindexがある一番上の階層にurl.phpをアップロードしてもみたのですが、結果は同じでした。 以下のように「../」とつけてもダメでした。 <a href="../<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> 外部ファイル化して共通部分を沢山つくているのでどうしても相対パスではダメな部分が沢山あるので何とかしたいのですが・・・

    • ベストアンサー
    • PHP

専門家に質問してみよう