Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: katalog bazowy
Forum PHP.pl > Forum > PHP
Black-Berry
Mam takie pliki
Kod
/index.php
/panel/index.php
/header.php

oba pliki index.php wymagają zaincludowania pliku header.php. W jednym includuje bezpośrednio:
  1. <?php
  2. include('header.php');
  3. ?>
a w drugim
  1. <?php
  2. include('../header.php')
  3. ?>

Niestety w pliku header.php jest funkcja includujaca inny plik

  1. <?php
  2. include('config/main.php');
  3. ?>

Problem w tym, że wywala się error z tego powodu. Mozna jakoś ustawić folder bazowy ?
erix
IMHO najprościej korzystać z jakiejś stałej, która przechowuje ścieżkę bezwzględną do skryptu, np:
  1. <?php
  2. define('MAIN', '/home/user/public_html/skrypt');
  3.  
  4. //i potem
  5. require MAIN.'/plik.asd';
  6. ?>
franki01
Zeby powyzszy sposob byl uniwersalny, mozna umiescic takie cos:

  1. <?php
  2. define('MAIN', dirname(__FILE__));
  3. ?>


Mozna zrobic tez tak:

  1. <?php
  2. define('MAIN', dirname(dirname(__FILE__)));
  3. ?>


żeby dostać nazwe nadrzednego katalogu (w przypadku pliku panel/index.php).


Jeszcze jest jeden sposob, ale gorszy, zeby zmienic sciazke aktualnego katalogu roboczego:

  1. <?php
  2. chdir(dirname(dirname(__FILE__)));
  3. ?>



W pliku /panel/index.php. Jednak ten sposób jest dużo gorszy i lepiej używać pierwszego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.