PHP包含路径问题

时间:2010-01-26 21:58:35

标签: php path include

设置包含路径真让我感到困惑。我必须遗漏一些重要的东西。

所以我在服务器的public_html文件夹中有以下脚本。

    photoGallery.php
    header.php

我将htaccess文件设置为将具有以下结构的网址重定向到photoGallery.php

RewriteRule ^gallery/([^/]+)/([0-9]+)-([^/]+)$ photoGallery.php?imageName=$2 [L]

所以这样......

http://localhost/gallery/roofing/1-picture-of-roofing

决心......

http://localhost/photoGallery.php?imageName=1

问题是如果已经重写了URL,那么photoGallery.php中的PHP包含将无法解析。

    include 'header.php'

所以我想设置php include路径,这样无论如何它都会解决。这是我尝试过的......

set_include_path(get_include_path() . PATH_SEPARATOR . "../../../");
include 'header.php';

我也试过像这样设置路径......

// get_include_path() returns .:/opt/lampp/lib/php
set_include_path(get_include_path() . PATH_SEPARATOR . "/opt/lampp/public_html");
include 'header.php';

我从未能够成功设置包含路径。我做错了什么?

2 个答案:

答案 0 :(得分:5)

你可以尝试:

include($_SERVER['DOCUMENT_ROOT'] . '/header.php');

答案 1 :(得分:1)

将来自http://php.net/manual/en/function.getcwd.php的电话添加到与

相同的脚本中
set_include_path(get_include_path() . PATH_SEPARATOR . "/opt/lampp/public_html");

然后根据getcwd()输出调整“/ opt / lampp / public_html”。