Personal tools
You are here: Home okalog Categories PHP
« December 2008 »
Su Mo Tu We Th Fr Sa
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
About this blog
日々のできごと
Recent comments
Re:Emobile契約 tetsu 2008-03-12
Re:Emobile契約 le14juillet67 2008-03-12
Categories
日記 (47)
Java (2)
コの業界 (1)
仕事術 (1)
Linux (2)
PHP (1)
物欲 (1)
Windows (5)
開発 (0)
trac (4)
C/C++ (2)
.NET (1)
料理 (1)
  早起き生活
Powered by 早起き生活
 
Document Actions

PHP

Up one level

Document Actions

PHPのinclude

by Tetsuya Okada posted at 2008-08-26 23:24 last modified 2008-08-28 04:38

最近、いまさらながらPHPにも手を出し始めました。

Webアプリの案件ではセキュリティ関連で考慮することが多いため、最初からフルスクラッチで作るのは危険かなと思い、既存サイトの改修などからぼちぼちやっています。

それで、既存ソースの使えそうなものを引っ張ってきたりして動かしてみるんだけど、ほとんどのファイルにincludeされる共通ソースを相対パス指定しているため、ディレクトリ階層ごとにいちいち記述を変えており、煩わしいったらありゃしない。

こんな感じ...

ルートのソース:
include './include/common.inc'
その下、subのソース:
include '../include/common.inc'
またその下、subのソース:
include '../../include/common.inc'
自分的には相対パス指定はありえないけど...

PHPはこれが常識?もしくはたまたま僕が見ているソースだけがそうなのかなぁ...

PHPのincludeは、サーバの物理パスで指定する必要がある。
と、いうことは、ドキュメントルートの物理パスを取得する方法があればいいんだけどと思って調べてみたが、

あった...あっさり見つかった。

_SERVER['DOCUMENT_ROOT']

つまり、こんな感じでいいわけね。

include $_SERVER['DOCUMENT_ROOT'] . '/include/common.inc';

とりあえず、共通のものはこんな感じで全部インクルードしておけばいんじゃね?

8/28追記

_SERVER['DOCUMENT_ROOT'] は、サーバの設定内容をそのまま表示しているだけなので、末尾が '/' になることもありうる。

Category(s)
PHP
The URL to Trackback this entry is:
http://www.okalabo.office-on-the.net/Blog/php306einclude/tbping

Powered by Plone CMS, the Open Source Content Management System