Avatar billede compac Seniormester
04. september 2006 - 21:04 Der er 7 kommentarer og
1 løsning

Et niveau højere op

Når jeg i php skal have fat i en fil der ligger på et højere niveau, hvordan bærer jeg mig så ad?
  <? include(../menu.php); ?> giver fejl:

Warning: include((../'menu.php')) [function.include]: failed to open stream: No such file or directory in C:\server\Apache2\htdocs\minefiler\phpforum\www\index.php on line 10

-
menu.php ligger i biblioteket minefiler.
Avatar billede pidgeot Nybegynder
04. september 2006 - 21:06 #1
Sørg for at sætte '' om dine strings (dvs. filnavnet). Desuden skal du jf. den fejl TO niveauer op, dvs. include ('../../menu.php');.
Avatar billede udvikler Nybegynder
04. september 2006 - 21:06 #2
Jeg forstår ikke helt hvad du vil men altså:

dette betyder at du går en mappe tilbage -> ../mappenavn
dette betyder at du går en/flere mapper fremad -> /mappenavn/mappenavn
Avatar billede compac Seniormester
04. september 2006 - 21:56 #3
Efter at have korrigeret til ('../../menu.php');. kommer den ønskede menu frem på skærmen. (en fil, med en liste):

<ul>
<li><a href="index.php" title="Forside">Forside</a></li>
<li><a href="phpforum/www/index.php" title="Forum">Forum / Debat</a></li>
<li><a href="bestyrelse.php" title="Bestyrelse">Bestyrelse</a></li>
</ul>

-men der går ikke til den ønskede side når punktet akiveres.
I browserens nederste linie, hvor man kan se stinavnet står f.eks: hvis man vil gå til forsiden:

http://localhost/minefiler/phpforum/www/index.php

-her burde have stået http://localhost/minefiler/index.php
Avatar billede pidgeot Nybegynder
04. september 2006 - 22:04 #4
Du er nødt til at specificere din sti i forhold til den side der bliver vist i browseren - det vil sige du enten skal specificere i forhold til /, eller også have ../../ på inde i din menu.

Du kan evt. definere en variabel øverst i dit script der indeholder det nødvendige antal '../', og så henvise til denne i alle de scripts der bruger relative URLs.
Avatar billede compac Seniormester
04. september 2006 - 22:34 #5
Menu.php ligger jo i samme bibliotek som minefiler/index.php. Mener du at det er de links der skal ændres?
Filen menu.php skal jo vises på samtlige sider.
Avatar billede pidgeot Nybegynder
04. september 2006 - 22:45 #6
Ja, og netop derfor er menu.php nødt til at referere til de andre sider med en absolut sti (dvs. med / som udgangspunkt), eller med et prefix der gør den relativ. Browseren ved ikke at menu.php er en seperat fil i en anden mappe, for den ser det ud som om at det er en del af den side den har bedt om - og PHP omskriver ikke linksene for dig.
Avatar billede compac Seniormester
08. oktober 2006 - 17:20 #7
Det løser problemerne - læg et svar
Avatar billede pidgeot Nybegynder
08. oktober 2006 - 18:01 #8
Værsgo :)
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