Проблемы с путями в PHP - PullRequest
       28

Проблемы с путями в PHP

2 голосов
/ 27 января 2010

Установка пути включения действительно сбивает меня с толку. Я, должно быть, упускаю что-то важное.

Итак, у меня есть следующие скрипты в папке public_html моего сервера.

    photoGallery.php
    header.php

У меня установлен файл htaccess для перенаправления URL-адреса со следующей структурой в 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

Проблема в том, что в photoGallery.php есть PHP, который не разрешится, если URL был переписан.

    include 'header.php'

Так что я хотел бы установить путь включения php, чтобы он разрешал, несмотря ни на что. Вот что я попробовал ...

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 ]

5 голосов
/ 27 января 2010

Вы можете попробовать:

include($_SERVER['DOCUMENT_ROOT'] . '/header.php');
1 голос
/ 27 января 2010

Добавить вызов: http://php.net/manual/en/function.getcwd.php к тому же сценарию, что и

set_include_path(get_include_path() . PATH_SEPARATOR . "/opt/lampp/public_html");

А затем настройте "/ opt / lampp / public_html" в соответствии с выводом getcwd ().

...