栗子現場直播 千篇一栗
有很多簡單的道理,若不是被遺忘,不是察覺不到,就是知易行難。

2010年11月28日 星期日

PHP 與 include_once

  對人體有害的編程時間。

  PHP 怪事。假設有三檔,a.php,b/b.php,c/c.php。

# a.php
include_once "b/b.php";

# b/b.php
include_once "../c/c.php";

# c/c.php
something;


  這情況下,呼叫 a.php,會出 error。報告會說找不到 ../c/c.php。
  但在以下情況,呼叫 a.php 卻不會出問題。

# a.php
include_once "b/b.php";

# b/b.php
include_once "c/c.php";

# c/c.php
something;


  似乎即使是 b/b.php 呼叫 include_once,但file search起點還是由 a.php 開始。
  解決方法如下:

# a.php
include_once __DIR__."/b/b.php";

# b/b.php
include_once __DIR__."/../c/c.php";

# c/c.php
something;


  至於 include / require / require_once ,我未試過。

沒有留言: