设置包含路径真让我感到困惑。我必须遗漏一些重要的东西。
所以我在服务器的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';
我从未能够成功设置包含路径。我做错了什么?
答案 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”。