• ベストアンサー

phpでurl転送

a.phpというphpファイルとa.txtのファイルがあって ホームページ上で a.php?b=1にリンクした場合a.txtファイルの1行目に書かれているurlにジャンプする。 a.php?b=2にリンクした場合a.txtファイルの2行目に書かれているurlにジャンプする。 a.php?b=3 ・・・ のようにするphpファイルはどうやったらつくれるでしょうか?

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

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

  • ベストアンサー
  • rokujiro
  • ベストアンサー率53% (17/32)
回答No.2

簡単にプログラムを記述します。 注意:下記プログラムでは0行目からスタートしますので1を指定して1行目とする場合は$cntを-1して下さい。 あと、a.txtにURL以外を指定する場合はfope関数及びfgetcsv関数等を使う必要がありますのでご注意下さい。 ↓a.php↓ <? $cnt=$_GET['b']; $fp=file("a.txt"); header("Location: $fp[$cnt]"); ?>

123isao
質問者

お礼

できました! ありがとうございます。

その他の回答 (1)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

どこがわからないのでしょう。 $_POST['b']にb=の値が入りますね。 a.txtをその行数読んで、あとは header("Location: xxxxxxxxxxxxxxxxxxxx"); するだけでしょう。 http://www.php.net/manual/ja/

123isao
質問者

お礼

すみません、あまりに初心者なもので。

関連するQ&A

  • PHPのクエリ付(?)URLの転送

    サーバーに関する詳しいことはまったくわかってない人間なのですが、 現在PHP?smarty?ベースのサーバでホームページを開設しています。 それをhtmlファイルを自由に配置できる一般的なサーバと分けて管理することになりました。 PHPのサーバを(A)、htmlのサーバを(B)とすると、 (B)サーバでトップ、カテゴリーページをhtmlで作成。 (A)サーバで詳細ページをPHPで作成します。 (A)サーバーで使っていたドメイン(xxx.jp)を(B)サーバにうつし、 (A)サーバに新しいドメイン(???.jp)を割り当てます。 現在のページ(Aサーバ)は http://www.xxx.ne.jp/?xyzoo=ooooo http://www.xxx..ne.jp/?mode=vrae=oooooo&awaa=1 (oooは数字) のようにページが作成されます。 その他(txtファイルなど)ファイルはアップロードできません。 それを(B)サーバではhtmlで作成し、ファイル名もabc.htmlなどと変わります。 ですので http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=1 にアクセスしてもトップページが表示されるだけです。 これらにアクセスすると、新しいファイルに転送するにはどうすればよいでしょうか。 (http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=1にアクセスすると、 http://www.xxx.ne.jp/abc.htmlに転送 (http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=2にアクセスすると、 http://www.xxx.ne.jp/def.htmlに転送 ) また、http://www.xxx.ne.jp/?xyzoo=oooooにアクセスされると、 今度は、違うサーバのhttp://www.???.ne.jp/?xyzoo=oooooです。 リダイレクトとか色々調べてみたのですが、結局わからずでした。。。 (.htaccess で Redirect permanent /?mode=vrae=oooooo&awaa=1 http://www.xxx.ne.jp/abc.html としてみたけどだめでした…) もう一つ、今度は 新しいドメイン(http://www.???.ne.jp/)になった(A)サーバについて、 詳細ページはhttp://www.???.ne.jp/?xyzoo=ooooo等で使うのですが、 トップページもアクセスできるようになります。 トップページhttp://www.???.ne.jp/にアクセスされると、新しいサーバのhttp://www.xxx.ne.jp/に転送したく思ってます。 現状では、(A)サーバの転送はmeta や javascript で転送する方法しか思いつきません。 PHP?smarty?で転送する方法は無いでしょうか。 なお、新しい(B)サーバは一般的なサーバ(?)で、ファイルは基本的に何でも置けます。 古いPHPの(A)サーバはsmarty.server?のタグでページを作成し、 その他ファイルを置けないどころか、head内も触れません…。 (metaやjavascriptはbody内に書くしかないのです) どなたか詳しい人、教えていただけませんか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 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 外部ファイルについて

    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
  • PHPでURLにジャンプするには?

    フォームで指定したURLにPHPでジャンプするコードは、以下しかないのでしょうか? url_form.html---------------------------- <form action="url_jump.php" method="GET"> <input type="text" name="url"> <input type="submit" value="送信"> </form> ----------------------------------------- url_jump.php----------------------------- $url_path = $_GET(["url"]); @readfile($url_path); ----------------------------------------- 上記方法だと画像は読みこみません。もっと簡単にURLにジャンプできますか?

    • ベストアンサー
    • PHP
  • 他のサーバにあるphpをrequireしたい

    他のサーバにある変数を引っ張ってくる方法が分からず困っております。 (php.iniのallow_url_includeをonにすれば実行出来たのですが、  offのままで同じ結果になる方法をお教え頂きたく思います。) allow_url_includeをonにした場合には出来た方法↓ 【Aサーバ】にある「a.txt」(a.phpにすると実行出来ませんでした……) <?php $hogeA = 'テキストA'; ?> 【Bサーバ】にある「b.html」 <?php require_once ('http://www.A/a.txt'); echo $hogeA ; ?> b.htmlに「テキストA」を表させたいと考えています。 allow_url_includeを変更せずに出来る代替方法をお教え下さい。 a.phpだと実行出来なかった理由も分からないため、 よろしければこちらもお教え下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 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
  • PHPファイルについて

    サル検と言うPHP自動相互リンクに登録して「PHPファイルをアップロードしリンク集を作ります」と表記されていたのでPHPファイルをダウンロードしてデスクトップに保存したのですが「このファイは開けません」と表示されます。またホームページ上にURLをUPしたんですがページがエラーになって表示されません。PHPファイルのアップロードとはどうすれば出来ますか?初心者でわかりませんのでお願い致します。

  • ホームページのアドレス(URL)を転送する方法を教えてください。

    ホームページのアドレス(URL)を転送する方法を教えてください。 方法はphpで良いのですが、fc2の無料HPで機能する言語でお願いします。 (こちらはphp初心者ですので、イメージはできるのですが詳細に教えていただけると助かります。) 例: headerに必要な記載 bodyのリンクさせたい場所に必要な記載 phpファイルに必要な記載 よろしくお願いします。

    • 締切済み
    • PHP
  • リンク(URL)をクリックした後、PHPへ

    データベースにURLのリンク(<a href=>)を登録しています。 PHPを使って、そのデータ(リンク)を表示しています。 やりたいことは、 ブラウザからそのURLをクリックしたら、データベースに接続して、クリックしたことをカウントしたいと思います。 ランキングのためにカウント数をデータベースに保存したいです。 もちろん、カウントした後に、(ロスなく)リンク先のホームページを表示させたいと思います。 どのような方法をすればいいのでしょうか? ランキングは一般にどのように統計を取っているんでしょうか? どなたかご教授いただけると幸いです。 よろしくお願いします。 使用環境 ●Mac OSX(Tiger) ●Apache 1.3.33 ●PHP 4.4.4 ●MySQL 4.1.22

    • ベストアンサー
    • PHP
  • 【PHP】 URLデータの取得と実行に関して。

    こんばんは。非常に悩んで困っています。 (参考図)               ┌→上フレーム(A.php)               │               │ aaa.php→bbb.php―┼→中フレーム(B.php)               │               │               └→下フレーム(C.php) もし、A.php ページ内のボタン【B】をクリックしたら、中フレームで B.php ページが表示される仕組みで その時、同時に下フレームの C.php ページで、中フレーム にはどのページが表示されているのかを URLで取得する仕組みにしたいのですが、どうやったよいのでしょうか? 具体的には、その時、B.php ページのURLデータを C.php ページ内のボタン【B】のリンクとなるURLに収納したいのです。 そして、C.php ページ内のボタン【B】を押しても、中フレームで B.php ページが表示される仕組にしたいのです。 自分なりに、セッション関数などを使い色々と試したのですが、どうもうまい事いきません。(汗) ちなみに、セッション関数でデータの受け渡しの仕組みをした場合・・・ A.php のページ内のボタン【B】をクリックしたら、中フレームで B.php ページのURLを B.php ページ内で、セッションの値を $_SESSION['burl'] = $burl; として保存し C.php ページ内のボタン【B】URL指定のところで $_SESSION['burl'] として呼び出しても、値が収納されません。(汗) 【参考】 ・ 上記の参考図の表示がずれていたら脳内変換で宜しくお願いします。 ・ ページはフレームを使用し、上フレーム・中フレーム・下フレームと縦に組んでいます。 ・ bbb.php のページは require 関数で呼び出されるページとなってます。 中途半端な知識で対応できず、苦しんでおります。 ちなみに、私は「PHP」の経験が浅いので、分かりやすく詳しく教えて頂けると非常に助かります。 もし宜しければ何方か、どうか教えて下さい。宜しくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう