PHP包含路径问题

use*_*666 2 php path include

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

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

    photoGallery.php
    header.php
Run Code Online (Sandbox Code Playgroud)

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

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

所以像这样......

http://localhost/gallery/roofing/1-picture-of-roofing
Run Code Online (Sandbox Code Playgroud)

会决心......

http://localhost/photoGallery.php?imageName=1
Run Code Online (Sandbox Code Playgroud)

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

    include 'header.php'
Run Code Online (Sandbox Code Playgroud)

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

set_include_path(get_include_path() . PATH_SEPARATOR . "../../../");
include 'header.php';
Run Code Online (Sandbox Code Playgroud)

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

// get_include_path() returns .:/opt/lampp/lib/php
set_include_path(get_include_path() . PATH_SEPARATOR . "/opt/lampp/public_html");
include 'header.php';
Run Code Online (Sandbox Code Playgroud)

我从来没能成功设置包含路径.我究竟做错了什么?

nig*_*les 5

你可以尝试:

include($_SERVER['DOCUMENT_ROOT'] . '/header.php');
Run Code Online (Sandbox Code Playgroud)