User Tools

Site Tools


doc:appunti:prog:php_include

This is an old revision of the document!


Include in PHP

I file richiamati dalla funzione include() e dalla funzione require() del PHP cercano nell'ordine:

  1. Ogni directory della include_path. Percorsi relativi si intendono rispetto alla working directory.
  2. Nella directory dello script attuale.

In questo esempio abbiamo un file incluso che ne include a sua volta un'altro, in directory diverse:

index.php: inlcude('lib/header.php')
   |
   |-- lib\
   |    |
   |    \-- header.php: include('it/menu.php')
   |
   \-- it\
        |
        \-- menu.php

Qual'è il contesto in cui viene valutato l'include del file lib/header.php?

Contrariamente a quello che si potrebbe pensare la working directory riportata da getcwd() è la directory principale, ed anche lo script corrente riportato da $_SERVER['SCRIPT_NAME'] è sempre index.php.

In pratica il contesto rimane quello dello script richiamato dal client, la funzione include() non altera tale contesto anche se include script in directory diverse.

doc/appunti/prog/php_include.1236204191.txt.gz · Last modified: 2009/03/04 23:03 by niccolo