Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z include
Forum PHP.pl > Forum > Przedszkole
athabus
Witam mam taki problem

jest plik index.php oraz 2 katalogi
-klasy
-admin

W katalogu klasy mam tworzone przez siebie klasy. Jena z klas (np. klasa_glowna.php) korzysta z innej klasy( klasa_pomocnicza.php) (obie są w folderze klasy).
Teraz plik index.php (znajdujacy sie na rownym poziomie z oboma katalogami) korzysta z klasy klasa_glowna.php. Dlatego tez klasa_glowna musi includowac pllik klasa_pomocnicza.php za pomoca kodu:
Kod
include('klasy/klasa_pomocnicza.php');


Problem w tym, ze chcialbym wykorzystac klasa_glowna.php również w innym skrypcie, ktory znajduje sie w katalogu admin. W tym przypadku klasa glowna powinna importowac klase pomocnicza za pomoca kodu:
Kod
include('../klasy/klasa_pomocnicza.php');


Jak sie poprawnie rozwiazuje taki problem? Jest jakies proste rozwiazanie, czy trzeba pisac instrukcje warunkowa dla include?

Z gory dzieki za pomoc
MrMag
mysle, ze podawanie bezwglednych sciezek powinno pomoc np /home/user/public_html/klasa/plik.php. u mnie zwykle pomagalo.
athabus
Też o tym myślałem - ale jeśli potem zmienie serwer na którym będzie inna scieżka to będzie mały zonk:(

póki co zrobiłem coś takiego

  1. <?php
  2. include ($_SERVER['DOCUMENT_ROOT']. '/klasy/skrypt_pomocniczy.php');
  3. ?>


co prawda musiałem zmienić ustawienia mojego apacha ale poskutkowalo aarambo.gif

Problem jednak jest ten sam, ze jak na jakims serwerze dajmy na to bede chcial wgrac strone w jakiejs subdomenie to bedzie zonk sad.gif

Ciekawe jak radza sobie z tym CMS takie jak Mambo - pewnie w czasie konfiguracji ustawiaja te sciezki odpowiednio? Bo ja inaczej tego sobie nie moge wyobrazic na razie.
dr_bonzo
Mozesz zawsze dac przed include
  1. <?php
  2. chdir( dirname( __FILE__ ) );
  3. ?>

przeniesie cie do aktualnego katalogu w ktorym znajduje sie INCLUDOWANY (nie uruchamiany) skrypt .
athabus
Cytat
Kod
<?php
chdir( dirname( __FILE__ ) );
?>


Dzięki - tego mi właśnie było trzeba cool.gif
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.