• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:$_SERVER['SCRIPT_NAME']についての質問)

$_SERVER['SCRIPT_NAME']についての質問

このQ&Aのポイント
  • PHP初心者の私が、$_SERVER['SCRIPT_NAME']について質問です。
  • パンくずリストのスクリプトで、$_SERVER['SCRIPT_NAME']の取得方法に悩んでいます。
  • includeで変数を渡す際、配列は渡せないのでしょうか?

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

同ドメイン下でhttpで取り込むのはイマイチに思います。 例えば、init.php で汎用クラス等を読み込むようにしておく。 -- init.php include 'pankuzu.php'; -- pankuzu.php function get_pankuzu() {  return 'TOP > 商品紹介'; } -- page01.php <?php include '/path/to/init.php' ?> <?php echo get_pathkuzu() ?> ややトリッキーですが、自動で init.php を読み込む設定もあります。 -- .htaccess php_value auto_prepend_file "/path/to/init.php" こうすれば echo get_pathkuzu() の記述だけで実装できます。 include 関数についてはマニュアルに詳しく載っていました。

参考URL:
http://jp2.php.net/include/
aiueo667
質問者

お礼

とても参考になりました。 関数に関することも少し理解していない面があったのですが、今回頂いた回答でいろいろと問題が解けました。ありがとうございました! さっそく試してみたいと思います。

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

あぁ、そうですね。http:// で取得しているからですね。 HTTPで取得しなければならない必要性があってですか? ないなら include 'pankuzu.php'; でいいと思いますが。 複数サーバでドメイン越えしたいならまた補足をお願いします。

aiueo667
質問者

お礼

http://で取得しているとそうなるのですね……ありがとうございます。 既にあるhtmlファイルに、このパンくずリストを自動生成するスクリプトを埋め込もうと考えているのですが、このincludeするファイルがサイトルートにあります。 http://で取得している理由は、既に数百ページあるため、相対パスで全てのページに埋め込むことはできないからです。(http://で取得する理由は、すべてのページに同じように適用すれば済むからです。) 相対パスでincludeする方法は、普通に手作業で埋め込んでいくしかないのでしょうか?他に方法があれば教えていただきたいのです……。 よろしくお願い致します。

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

REQUEST_URIとかPATH_INFOを使えばいいのでは? $name = array(); include 'hoge.php'; で $name は使えると思いますが、スマートなやり方とは思えません。

aiueo667
質問者

お礼

アドバイスありがとうございます。 REQUEST_URIを使うとして、外部ファイルにREQUEST_URIを入れると、結局外部ファイル自身のパスを取得してしまいます。 私のやり方がおかしいのでしょうか……。

関連するQ&A