Citat:
Originally posted by tartareandesire@May 6 2006, 14:00
Vet inte vad för webserver du använder? Uppenbarligen finns inte $_SERVER['DOCUMENT_ROOT'] på IIS, finns __FILE__ oavsett webserver?
Använder man en PHP-version som är äldre än PHP 4.0.2 så bör man hur som helst inte använda sig av __FILE__ då den ibland ger en relativ sökväg till filen.
|
Hoppas verkligen ingen använder en PHP-version före 4.0.2 längre eftersom 4.0.1 kom ut 28 juni 2000
Men det finns en lösning för att göra så det funkar i vilket fall; den utmärkta funktionen realpath()
Kör du realpath(__FILE__) får du alltid ut den fulla absoluta sökvägen (även om du redan inputtar den).
__FILE__ finns oavsett webbserver eftersom det är en PHP-konstant. Behöver du DOCUMENT_ROOT under IIS finns där massa code snippets med olika förslag i kommentarerna på följande url:
http://se.php.net/reserved.variables
Angående ditt problem finns där som vanligt många olika lösningar.
En är att köra med mod_rewrite vilket kanske kan vara lite overkill här dock.
En annan är att i filerna du har i katalogerna överst ha:
Kod:
$directory = dirname($_SERVER["REQUEST_URI"]) . "/";
Sedan kan du länka med
Links
Lite likt du gör, men genom automatik minskar man risken för typos.
Sedan ska man aldrig glömma den gamla hederliga base href HTML-taggen