PHPに関しては先週から勉強し始めている初心者です。
先日、簡単なパンくずリストを自動生成するスクリプトを作ろうと思いました。その際このスクリプトは外部ファイルにして、includeしようと思ったのですが、 $_SERVER['SCRIPT_NAME']; で現在実行しているスクリプトのファイル名を取得する場合は、includeをしたスクリプトのファイル名ではなく、パンくずリスト自身のファイル名を取得されてしまいます。
なので、スクリプト内の $name=$_SERVER['SCRIPT_NAME']; という部分だけを取り出して、ページ内に直接記述し、includeする際に、 include"http://exampleeee.com/pankuzu.php?name=$name"; として動作させています。
しかし、個人サイトとはいえ、非常に規模の大きいサイトになる予定なので、後での管理などが大変になるかもしれません。できれば $_SERVER['SCRIPT_NAME']; の部分も外部ファイルに入れておきたいのですが、何か良い方法があればアドバイスをお願いします。
あと、最後にもうひとつ質問があります。
include"http://exampleeee.com/pankuzu.php?name=$name";
のように変数を渡す場合、配列を渡すことはできないのでしょうか?
以上が私の質問です。文章中に誤った表現や、誤解などがあればご指摘願います。
よろしくお願いします。
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/
とても参考になりました。
関数に関することも少し理解していない面があったのですが、今回頂いた回答でいろいろと問題が解けました。ありがとうございました!
さっそく試してみたいと思います。
No.2
- 回答日時:
あぁ、そうですね。
http:// で取得しているからですね。HTTPで取得しなければならない必要性があってですか?
ないなら include 'pankuzu.php'; でいいと思いますが。
複数サーバでドメイン越えしたいならまた補足をお願いします。
http://で取得しているとそうなるのですね……ありがとうございます。
既にあるhtmlファイルに、このパンくずリストを自動生成するスクリプトを埋め込もうと考えているのですが、このincludeするファイルがサイトルートにあります。
http://で取得している理由は、既に数百ページあるため、相対パスで全てのページに埋め込むことはできないからです。(http://で取得する理由は、すべてのページに同じように適用すれば済むからです。)
相対パスでincludeする方法は、普通に手作業で埋め込んでいくしかないのでしょうか?他に方法があれば教えていただきたいのです……。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fputcsvで保存せず、そのまま出...
-
シェルスクリプトからphpファイ...
-
#!/usr/local/bin/phpはどこに...
-
php.iniでどちらが正規かな!?
-
拡張子なしのファイルを稼働さ...
-
include先でのinclude元の変数...
-
PHPのif文でその処理を途中で抜...
-
「@$変数」の「@の意味は?」
-
PHPで新しいウインドウで開く命...
-
FTPコマンドでディレクトリごと...
-
VBSの「MsgBox」について
-
トランザクションが原因?DBに...
-
「クラウドにアップロード」」...
-
レジストリにあるアプリケーシ...
-
is_fileでファイルが存在してい...
-
xamppでformによるデータの送信...
-
glob関数で日本語文字が取得で...
-
Struts2 ファイルアップロード
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
include先でのinclude元の変数...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpinfo.phpを開くとファイルの...
-
phpの開始タグ及び終了タグ外で...
-
パスワード等が記述されているp...
-
phpのプログラムエラー
-
拡張子なしのファイルを稼働さ...
-
a href リンクタグでだけで 送...
-
1行目の#! "C:\\xampp\\php\\p...
-
codeigniterでcron実行したい
-
PHP(.php)及びJavascrpit(.j...
-
こちらはただの直列処理ですか?
-
phpのソースコードが、そのまま...
-
リクエストURIによってHTML表示...
-
PEARのmimeDecodeでメール解析...
-
入力フォームの空白や改行を制...
-
拡張子php画像をbmp画像等に変...
-
#!/usr/local/bin/phpはどこに...
おすすめ情報