WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   php require och sökvägsproblem (https://www.wn.se/forum/showthread.php?t=13942)

andla 2006-05-06 15:24

Vet inte om denna är så snygg men det funkar:

Jag sätter en variabel i index.php på huvudwebbsidan:
<?php
$gpath="LinkPageAuto/";
require("./LinkPageAuto/list.php");
$gpath="LinkPageAuto2/";
require("./LinkPageAuto2/list.php");
?>

För varje gång gpath sätt så används detta värde i respektive underkatalog.
Så en länk kan se ut så här i skriptet i underkatalogen:
echo "<a href=\"$gpath$filename?page=$rwd\">&gt&gt</a>
";

eller

Add Link |
View Links




Min fula lösning men har ni något råd för att göra lösningen på ett snyggare sätt?

Bamse 2006-05-06 18:33

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

andla 2006-05-10 19:44

Tackar för hjälpen.
Kan krypa framåt äntligen :)


Alla tider är GMT +2. Klockan är nu 22:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson