Avatar billede Slettet bruger
03. marts 2005 - 22:06 Der er 14 kommentarer og
1 løsning

Include link fra een mappe til en anden

Jeg er begyndt at lege lidt med PHP, og har lige et lille problem med at hente INCLUDE-fil fra en anden mappe

  c:en masse mapper 
                |_www = localhost
                            |project
                              |inc
                              |mappe1
                              |mappe2 
                              |index.php

....................

Index.php går i mappen inc og henter includefil menu.php
med flg. hode

<?php
include("inc/menu.php");
?>

Så kommer problemet:

Jeg har en fil.php i mappe 2 som skal gå i inc mappen og hente menu.php
og hvis man i mappe 2 har en mappe 2.1

Hvad er den rigtige kode til dette ?
Avatar billede ellebaek Nybegynder
03. marts 2005 - 22:08 #1
<?php
include("/inc/menu.php");
?>

prøv med ovenstående..
Avatar billede coderdk Praktikant
03. marts 2005 - 22:16 #2
ellebaek, det vil kun virke hvis /www er i roden af filsystemet...

include("../inc/menu.php");
Avatar billede coderdk Praktikant
03. marts 2005 - 22:22 #3
Alternativt, hvis du kører apache, og har rettigheder til det, kan du lave en .htaccess i din webrod:

.htaccess:
php_value include_dir "gammel_include:/fuld/sti/til/din/inc"

Hvor "gammel_include" er den gamle værdi af include_dir, den kan du få ved at kigge i phpinfo() eller i et script skrive: echo ini_get("include_dir");
Et eksempel på en er: .:/usr/lib/php
Så i .htaccess kunne der så stå:

php_value include_dir ".:/usr/lib/php:/home/www/ditsite/folder/inc"

Når du har gjort det, kan du hvor som helst bare skrive:

include("menu.php");

Uanset i hvilken folder du befinder dig
Avatar billede Slettet bruger
03. marts 2005 - 22:22 #4
Ja det har jeg prøvet inden jeg stillede spørgsmålet
har også prøvet med include("./inc/menu.php"); og
                    include("../inc/menu.php");

men der er nok noget helt andet galt for jeg får denne fejl,

Warning: main(/inc/menu.php): failed to open stream: No such file or directory in c:\www\visithaven-ny\aarstider\foraar.php on line 33

Warning: main(): Failed opening '/inc/menu.php' for inclusion (include_path='.;c:\php4\pear') in c:\www\visithaven-ny\aarstider\foraar.php on line 33


Jeg kan bare ikke forstå det for flytter jeg filen til root af projectet er der ingen problemer med denne kode i doc.
<?php
include("inc/menu.php");
?>
Avatar billede Slettet bruger
03. marts 2005 - 22:25 #5
dette var svar på ellebaek's indlæg
Avatar billede ellebaek Nybegynder
03. marts 2005 - 22:28 #6
hvad med bare at benytte den fysiske path?

Kan
include("c:/www/visithaven-ny/inc/menu.php");

ikke bruges i stedet ?
Avatar billede Slettet bruger
03. marts 2005 - 22:29 #7
>coderdk.. dit forslag lyder godt, meeen, meeen mon jeg kan finde ud af det ?

pt. tester jeg local med apache - det endelige skal op og ligge på cliche og ved ikke om der der er rettigheder til det du skriver, det må jeg nok undersøge først inden jeg går i gang med det, men det ville være alletiders hvis det kunne laves sådan.
Avatar billede Slettet bruger
03. marts 2005 - 22:31 #8
>ellebaek.... det er godt nok nu... men hvad når jeg uploader det til cliche
Avatar billede ellebaek Nybegynder
03. marts 2005 - 22:34 #9
der kan du helt sikker også bruge den fysiske path..
så skal du bare have hevet den ud derfra, men det kan du når du når du connecter med ftp eller tilsvarende..
Avatar billede coderdk Praktikant
03. marts 2005 - 22:37 #10
Ja, du kører jo windows.

include('..\inc\menu.php');

eller:

include("..\\inc\\menu.php");
Avatar billede coderdk Praktikant
03. marts 2005 - 22:38 #11
Hm, den fejl du får... Ligger din inc-mappe her:

c:\www\visithaven-ny\

Eller?
Avatar billede Slettet bruger
03. marts 2005 - 22:40 #12
Ja ... sådan c:\www\visithaven-ny\inc\menu.php
Avatar billede nyst Nybegynder
03. marts 2005 - 22:51 #13
Hej coderdk,

undskyld jeg bryder ind, med gider du

http://www.eksperten.dk/spm/596733

et ekstra lille problem med min form

:-)
Avatar billede Slettet bruger
03. marts 2005 - 23:15 #14
Problemet er løst (tror jeg - (det virker nu)

link til min CSS-fil var forkert da jeg fik rettet den
<link href="../css/gron.css" rel="stylesheet" type="text/css">
og fik sat 2 prikker foran i link
include("../inc/menu.php");

Jeg forstår bare ikke hvorfor den melser fejl ved menu.php, men det må være fordi den fejler ved CSS-linket, hvor den stopper indlæsning og rapporterer næste fejl.

så 'kører' det bare, med hvad bevirker det at jeg bruger ..\ i stedet for ../

>coderdk ... du skriver til ellebaek:
............
ellebaek, det vil kun virke hvis /www er i roden af filsystemet...
include("../inc/menu.php");
...........
Hos mig er www root for localhost og det vil være det samme på webhost
...........

Læg venligst svar så uddeles der point !
Avatar billede Slettet bruger
07. marts 2005 - 17:44 #15
Vil nok ikke have point
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