login  Naam:   Wachtwoord: 
Registreer je!
 Forum

set_include_path vraag

Offline Raze - 25/10/2009 15:49
Avatar van RazePHP beginner Hallo,

ik heb volgende situatie

[M] = map

[M] main
|-- [M] authenticatie
|-- auth.class.php
|-- [M] klassen
|-- main.class.php
[M] modules
|-- [M] kalender
|-- kalender.php
index.php

op auth.class.php wordt de pagina main.class.php geinclude.
Het probleem is nu: auth.class.php (en onrechtstreeks dus ook main.class.php) wordt geinclude op index.php en kalender.php. Op deze 2 pagina's kan ik dus wel een path zetten naar auth.class.php dat steeds werkt, maar niet naar main.class.php (dit path staat op auth.class.php)
dus voor index.php zou dan als path in auth.class.php moeten staan main/klassen/main.class.php en voor kalender.php zou er moeten staan ../../main/klassen/main.class.php.

Hoe kan ik dit nu oplossen? Ik weet dat het via set_include_path() moet, maar op php.net geraak ik er niet wijs uit.

Iemand een idee?

3 antwoorden

Gesponsorde links
Offline Rik - 25/10/2009 16:06
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Het makkelijkste is om een absoluut pad te nemen naar de root van je applicatie. Dan ben je in één keer van het probleem af.
Offline Raze - 25/10/2009 16:17
Avatar van Raze PHP beginner en hoe doe je zoiets juist?
Offline Rik - 25/10/2009 19:35
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Met:
  1. $sDir = str_replace(array('\\', $_SERVER['DOCUMENT_ROOT']), array('/', null), dirname(__FILE__));
Krijg je het vetgedrukte stuk uit:
http://site.nl/dir/dir/dir/file.php

Je weet dan dus hoe diep je zit ten opzichte van de document root door bijvoorbeeld te doen:
  1. $iDepth = substr_count('/', $sDir);


Als jouw index.php bijvoorbeeld 2 diep staat, en $iDepth is 5, dan weet je dat je 3x ../ moet toevoegen aan je include.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s