Avatar billede krukken Mester
28. oktober 2004 - 16:18 Der er 51 kommentarer og
1 løsning

Aktuel sti

Er det ikke en eller anden Variabel der indeholder den akuelle sti(altså URL)?
Avatar billede sukos Juniormester
28. oktober 2004 - 16:19 #1
$_SERVER["REQUEST_URI"]
Avatar billede krukken Mester
28. oktober 2004 - 16:25 #2
Nope - det virker ikke.

Problemet er at jeg har en fil som ligger i et include bibliotek. Denne side indeholder links til sider som ligger i bibliotekket. Problemet er bare at jeg bare den samme side i to bibliotekker - ellers kunne man jo bare opgive den reele sti.

LIgenu vil den enten kun. Er der ikke et tegn som angiver at det er det aktuelle biblitek der er tale om. (jeg bruger flames)
Avatar billede sukos Juniormester
28. oktober 2004 - 16:31 #3
flames? :O)

anyway, "akuelle sti" er $_SERVER["REQUEST_URI"]

Men du vil gerne vide i hvilket dir du befinder dig på serveren?


M.h.t. til includes, vil jeg da anbefale at include én fil på hver side, en fil som netop holder styr på den fulde sti til includes

all_include.php

<?php
$my_path = "/users/hosts/doamin.dk/includes/";
?>


Og i alle filer som skal bruge en includefil

<?php
include("/fuld/sti/til/all_include.php");
?>

Så kan du bruge $my_path på alle filer, og kun ændre i en fil, hvis det ligger på et andet host ............................
Avatar billede sukos Juniormester
28. oktober 2004 - 16:32 #4
hmmm, én fil, holder jo så ikke, hvis du har 100 filer som includer samme fil! :O)
Avatar billede krukken Mester
28. oktober 2004 - 16:33 #5
Jamen er der ikke et eller andet tegn som går man går at man ved at det er i sammen bibiliotek som index.php ligger i - og ikke i include? Altså selvom det link man trykker på er på en fil der befinder sig i includes?
Avatar billede sukos Juniormester
28. oktober 2004 - 16:34 #6
Men med .htaccess kan du bruge

php_value auto_prepend_file  /fuld/sti/til/all_include.php

i roden af dit domæne, for at hvert dokument automatisk "indeholder" filen all_include.php
Avatar billede sukos Juniormester
28. oktober 2004 - 16:35 #7
./

er samme dir
Avatar billede krukken Mester
28. oktober 2004 - 16:36 #8
Ja . som includes...
Avatar billede sukos Juniormester
28. oktober 2004 - 16:37 #9
Jeg er ved at gå væk fra at bruge det, men ellers, så vil
$_SERVER["DOCUMENT_ROOT"]

jo være stien til roden af dit domæne
Avatar billede sukos Juniormester
28. oktober 2004 - 16:37 #10
Nej, du kan ikke definere "includes" som ./

Hvis du er to dirs nede, vil den jo kikke efter filen i samme dir
Avatar billede krukken Mester
28. oktober 2004 - 16:40 #11
Okay - det jeg skal bruge er stil til hvor den aktuelle index.php ligger. (Altså bibliotekket.

Denne index.php indeholder nogle flames. De links der er på de sider i de flames skal være afhænge af hvilken index.php siden der er vises.
Avatar billede sukos Juniormester
28. oktober 2004 - 16:41 #12
Nåh, fik vist ikke lige læst hele din kommentar, omkring links!

includefil.php

<a href="/billeder/">Vis billeder</a>
<a href="/kontakt.php">Kontakt</a>
<a href="/links.php">Links</a>
Avatar billede sukos Juniormester
28. oktober 2004 - 16:42 #13
$dir = dirname($_SERVER["PHP_SELF"]);
Avatar billede krukken Mester
28. oktober 2004 - 16:47 #14
Det giver stadigvæk det sammen resultat.
Avatar billede sukos Juniormester
28. oktober 2004 - 16:50 #15
Af hvad giver resultat? og hvilket resultat?
For jeg ved ikke hvad det er du vil!
Avatar billede krukken Mester
28. oktober 2004 - 16:54 #16
Okay - det jeg skal bruge er stil til hvor den aktuelle index.php ligger. (Altså bibliotekket)

Denne index.php indeholder nogle flames. I disse flames vises nogle sider. Flere af disse sider er placeret i (/include). På de filer som ligger i /include er der nogle links. Disse links skal pege på den bibliotek som man ser index.php siden fra. Altså hvis man trykker på disse links hentes der en side fra det aktuelle bibliotek - og ikke fra /include/.
Avatar billede sukos Juniormester
28. oktober 2004 - 16:58 #17
For at finde navn/sti til hvilket dir filen bliver includet i:
<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]) ."/";
}
echo $path;
?>

Men det er jo så kun til roden af dit domain
Avatar billede sukos Juniormester
28. oktober 2004 - 16:58 #18
Fra roden...........
Avatar billede sukos Juniormester
28. oktober 2004 - 17:00 #19
includefil.php

<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]) ."/";
}
?>
<a href="<?php echo $path; ?>billeder.php">Vis billeder</a>
<a href="<?php echo $path; ?>kontakt.php">Kontakt</a>
<a href="<?php echo $path; ?>links.php">Links</a>
Avatar billede bojo Nybegynder
28. oktober 2004 - 17:05 #20
jeg har opdaget at det er forskelligt hos de forskellige hoteller, men en af disse er rigtig

<?/* vis din server root */
echo "\$_SERVER['DOCUMENT_ROOT'] = ".$_SERVER['DOCUMENT_ROOT'];
echo "<br>rtrim(\$SCRIPT_FILENAME,\$SCRIPT_NAME) = ".rtrim($SCRIPT_FILENAME,$SCRIPT_NAME);
$servhome=rtrim($SCRIPT_FILENAME,basename($SCRIPT_NAME));
$home=rtrim($SCRIPT_FILENAME,basename($SCRIPT_FILENAME));
echo "<br>\$SCRIPT_FILENAME,basename(\$SCRIPT_NAME) $servhome<br>home = $home";
echo "<br>dirname(\$SCRIPT_FILENAME) = ".dirname($SCRIPT_FILENAME);
echo "<br>realpath = ".realpath( $_SERVER['DOCUMENT_ROOT'] );
?>
Avatar billede sukos Juniormester
28. oktober 2004 - 17:09 #21
?
Det der, er jo hvis du vil bruge den fulde sti!
Hvis du vil lave links, så starter hvert link blot med /, for at "starte" fra roden af doamænet
Avatar billede bojo Nybegynder
28. oktober 2004 - 17:12 #22
hmm - sukos - du ved jeg har det der "læse indenad" problem - beklager :-)
Avatar billede sukos Juniormester
28. oktober 2004 - 17:14 #23
Jaja, beklag du bare du! :O)

Jeg har iøvrigt IKKE en variabel som hedder SCRIPT_NAME (xp,apache)
Avatar billede krukken Mester
28. oktober 2004 - 17:17 #24
Jeg har ikke brug for hverken document_root eller stien til den fil hvoer linket er placeret - men stien til den index-siden som viser siden.

Jeg ved ikke helt om du ved det - men hvis du har flere bibliotekker kan du jo sagtens have flere index.php. Disse sidder vil jo vare den første siden som browseren leder efter.
Avatar billede bojo Nybegynder
28. oktober 2004 - 17:21 #25
det har jeg heller ikke (xp,apache), men det har http://tulstrup.net/ (Linux rh72builder.arvin.dk 2.4.9-34 #1 Sat Jun 1 06:25:16 EDT 2002 i686 , apache )

se http://tulstrup.net/info.php laaangt nede
Avatar billede sukos Juniormester
28. oktober 2004 - 17:23 #26
Og, det har du vel fået??? (stien, ("dirsti"), til filen som includer include.php???

Hvis du vil ha' navnet alene, f.eks. "test" som ligger /dir/meredir/test/

<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]);
}

$dirnavn = end(explode("/", $path));

?>

Men jeg er stadig ikke helt med på hvad du gerne vil?
Avatar billede krukken Mester
28. oktober 2004 - 17:34 #27
$_SERVER["PHP_SELF"] - vil jo altid komme til at pege på det bibliotek som filen ligger i - i dette tilfælde /include
Avatar billede krukken Mester
28. oktober 2004 - 17:39 #28
Og det er ikke dette bibliotek som jeg ønsker stien til.

Jeg har en side index.php som f.eks ligger i /base/members/temp/

Denne index.php er opbygget med flames - en af de sidder som blive vist en frames viser en side show.php.

show.php ligger i /base/include/

På show.php er der nogle links - disse links skal pege på /base/members/temp/. Men problemet er at jeg har også et bibliotek som hedder /base/members/prove/. Her ligger der ligeledes en index.php. Denne side er også opbygget af frames - og bruger også show.php.

Alt afhængigt af hvilken af de to index.php sider der bliver vist - skal linkene på show.php pege på /base/members/temp/ eller /base/members/prove/.
Avatar billede sukos Juniormester
28. oktober 2004 - 17:45 #29
<?php
include($_SERVER["DOCUMENT_ROOT"] ."/base/include/show.php");

echo $path;

?>


base.php:

<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]);
}
?>

En includet fil vil IKKE vise $_SERVER["PHP_SELF"] som sig selv fra det dir den includes fra, men fra den fil som includer den!
Avatar billede sukos Juniormester
28. oktober 2004 - 17:45 #30
hov, lidt "bytten om" på show og base!
Avatar billede krukken Mester
28. oktober 2004 - 17:52 #31
Men koden som finder ud at hvilket bibliotek vi befinder os i nu skal vøre på show.php
Avatar billede krukken Mester
28. oktober 2004 - 17:52 #32
Problemet er ikke at få vist show.php eller at på den includeret.
Avatar billede sukos Juniormester
28. oktober 2004 - 17:59 #33
Du includer show.php

I show.php, kan du bruge

<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]);
}
?>

Hvis show.php includes fra en fil som ligger

domain.dk/images/gifbilleder/fil_som_includer_.php

vil $path være /images/gifbilleder
Avatar billede sukos Juniormester
28. oktober 2004 - 17:59 #34
Hov, du includer sgu da ikke show.php, hvis den ligger i en frame for sig selv!
Avatar billede krukken Mester
28. oktober 2004 - 18:06 #35
Okay - den index.php jeg sidder og kigger på lige nu ser sådan nu:
*******
<frameset rows="65,80,*,40" name="all">
        <frame src="/base/include/show.php" name="firm">
*
*
***************

Altså bliver vist.

Men det er stien til denne fil som linksene på show.php skal pege på.
        '
Avatar billede sukos Juniormester
28. oktober 2004 - 18:09 #36
Så skal du bruge noget a'la'

<frameset rows="65,80,*,40" name="all">
        <frame src="/base/include/show.php?dir=<php echo $path; ?>" name="firm">

så kan du i show.php tjekke om dir er sat, og ud fra det vise noget forskelligt
$path sættes jo så i din indexfil, før frameset
Avatar billede krukken Mester
28. oktober 2004 - 18:17 #37
hvordan tjekker man så om dir er sat?
Avatar billede sukos Juniormester
28. oktober 2004 - 18:19 #38
if(isset($_GET["dir"])) {
......................
}
Avatar billede krukken Mester
28. oktober 2004 - 18:29 #39
Jeps - nu virker det:-)
Avatar billede krukken Mester
28. oktober 2004 - 18:29 #40
Tak for hjælpen - det holdt hårdt hva`?:-)
Avatar billede sukos Juniormester
28. oktober 2004 - 18:31 #41
hehe, to timer sgu! :O)
Avatar billede krukken Mester
28. oktober 2004 - 19:04 #42
He he.

Men kan de passe at hvis jeg bruger denne metode at jeg så ikke kan give andre "parametre" med i adresselinien?
Avatar billede krukken Mester
28. oktober 2004 - 19:35 #43
Hvorfor kan jeg dog ikke sende andre værdier med i addresselinie nu?
Avatar billede sukos Juniormester
28. oktober 2004 - 19:46 #44
Nu viser du ikke hvordan du sender andre med, men gøres jo på denne måde

show.php?a=B&c=D&e=F

så har du $_GET["a"], $_GET["b"] o.s.v.
Avatar billede bojo Nybegynder
28. oktober 2004 - 19:50 #45
så har du $_GET["a"], $_GET["c"] o.s.v.
Avatar billede krukken Mester
28. oktober 2004 - 19:53 #46
Hmmm - jeg bruger nu $_REQUEST['a'] - men det burde vel være det samme?

Kan det ikke være et problem at der allerede findes et ? i?
<frame src="/base/include/show.php?dir=<php echo $path; ?>" name="firm">
Avatar billede krukken Mester
28. oktober 2004 - 19:55 #47
Men $_GET["a"] virker heller ikke
Avatar billede krukken Mester
28. oktober 2004 - 19:55 #48
Men jeg kan se variable i addresselinie - altså der er angivet det "?a=B
Avatar billede sukos Juniormester
28. oktober 2004 - 19:55 #49
<frame src="/base/include/show.php?dir=<?php echo $path; ?>" name="firm">

<php

skal være

<?php
Avatar billede krukken Mester
28. oktober 2004 - 19:58 #50
ja - det havde jeg selv fundet ud af:-) Jeg kopiere bare din linie fra ovenover - det var mere som eksempel
Avatar billede krukken Mester
28. oktober 2004 - 20:00 #51
Kan man ikke udskrive alle variabler i browseren? Den synes jeg før jeg har prøvet i php? Kan du huske hvordan man gør det?
Avatar billede krukken Mester
28. oktober 2004 - 20:02 #52
Oaky - jeg opretter lige et nyt spørgsmål
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester