[php] probleem met paden en requires

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb in een directory de volgende php bestanden:
- common_functions.php
- common_vars.php
- index.php

common_functions.php requires common_vars.php. Dus de 1e regel in common_functions.php ziet er als volgt uit.
PHP:
1
2
3
<?
require("common_vars.php");
?>

De 1e regel in mijn index.php:
PHP:
1
2
3
<?
require("common_functions.php");
?>

Echter mijn probleem is het volgende.
Ik heb een subdirectory /admin waarin ook een index.php staat.

Doe ik echter hier:
PHP:
1
2
3
<?
require("../common_functions.php");
?>

Dan krijg ik een foutmelding in common_functions.php dat hij common_vars.php niet kan vinden. Dit komt dus omdat hij gaat zoeken in de directory waar het 1e php script is opgestart. In dit geval is dat dus admin.

Het lijkt mij niet flexibel om met harde pad verwijzingen de requires te regelen.
Hoe kan ik dit probleem het beste oplossen :?

It’s nice to be important but it’s more important to be nice


Verwijderd

de vars requieren in de functions file :?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Tjah maar ik heb niet alleen het probleem met PHP scripts ook als wordt verwezen in de HTML file naar "images/" moet ik dit steeds weer wijzigen in "../images/"
Nogal omslachtig dus.

Je zou dan natuurlijk hier met virtuele directories kunnen werken. Echter ik kan deze niet gebruiken bij mijn webhost.

It’s nice to be important but it’s more important to be nice


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
ik require altijd eerst de vars, daar staat dan var met een absoluut pad in om functions en andere includes te includen..

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

ik gebruik altijd gewoon het complete pad in de include files (als deze weer andere includes heeft), bijv:
PHP:
1
2
3
<?
include($DOCUMENT_ROOT . "/inc/foobar.php");
?>

Today's subliminal thought is:


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op zaterdag 08 december 2001 12:34 schreef Annie het volgende:
ik gebruik altijd gewoon het complete pad in de include files (als deze weer andere includes heeft), bijv:
PHP:
1
2
3
<?
include($DOCUMENT_ROOT . "/inc/foobar.php");
?>
Ja, dat kan ook, maar ik heb vaak dat hij locaal onder $DOCUMENT_ROOT/naam_site staat en op de server wel gewoon in de root staat..

Daarom zet ik altijd in de config-file de echte root, en gebruik die.. De config-file include ik dan wel weer relatief :)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op zaterdag 08 december 2001 12:34 schreef Annie het volgende:
ik gebruik altijd gewoon het complete pad in de include files (als deze weer andere includes heeft), bijv:
PHP:
1
2
3
<?
include($DOCUMENT_ROOT . "/inc/foobar.php");
?>
Ja dat is op zich een veiligere manier.
Toch moet ik zeggen dat ik het fijner vind werken om al je php scripts in 1 directory te plaatsen. Dit in verband met de relatieve verwijzingen naar plaatjes enzo.
Zie mijn 3e post.

It’s nice to be important but it’s more important to be nice

Pagina: 1