PHP gevorderde |
|
Je kan beter gebruik maken van dirname(__FILE__) of als je met php 5.3 applicaties werkt met de constante __DIR__ werken ipv een '.'. Dit werkt veel beter, omdat php altijd de locatie van bestanden bepaald vanuit het script dat is opgestart en je daarmee onverwachte resultaten kan krijgen als je een bestand laad vanuit een script in een andere map.
Vergeet niet dat include, include_once, require en require_once, maar ook file_get_contents met de tweede parameter ingesteld op true vertrouwen op php's ingebouwde path prefixes (zie http://www.php....clude-path ) als je een deel van een path geeft. Anderen bestand gerelateerde functies hebben deze include_path niet, waardoor je verplicht bent met volledige paden te werken (door bv. het gebruik van de constanten zoals beschreven hierboven).
Let op dat het gebruik van include paths relatief traag is door de potentiële vele 'lookups' of het bestand bestaat, dus als je precies weet waar het bestand zich bevind, gebruik het volledige pad naar het bestand, ook al kan je gebruik maken van php's include path.
Indien je slechts een deel van een pad opgeeft en de functie ondersteuning heeft voor include paths, gaat php de lijst van path prefixes gebruiken op het bestandsnaam. Hoe dit werkt: php overloopt deze van begin tot einde, de eerste match die gevonden wordt wint, als er geen match wordt gevonden geeft php simpelweg een foutmelding terug. |