Avatar billede tubber Juniormester
12. maj 2012 - 12:40 Der er 9 kommentarer og
2 løsninger

Include side

Hej Eksperter

Jeg har en include med submenu:

<?php include('includes/side.php'); ?>

Den side jeg includer har nogle elementer hvor man kan navigere rundt i selve den side der includes, dette kommer bare ikke med.
Det er som om den includer alt fra hoved stien, f.eks. så er der et billede i includes/billeder men hvis jeg sætter stien til <img src="billeder/billede.jpg"> så vises det ikke men bruger jeg <img src=includes/billeder/billede.jpg> så vises det.
altså den går altid ud fra root.

Hvordan kommer jeg ud over dette ?
Avatar billede tobrukDk Novice
12. maj 2012 - 12:44 #1
jeg forstår ikke helt dit spørgsmål.. ?
Avatar billede tubber Juniormester
12. maj 2012 - 12:58 #2
vagnk : så includer den slet ikke noget.
Avatar billede vagnk Juniormester
12. maj 2012 - 12:52 #3
Har du prøvet med skråstreg foran "includes/side.php" som
<?php include('/includes/side.php'); ?>

Det kan have noget med din mappestruktur at gøre.
Avatar billede tubber Juniormester
12. maj 2012 - 13:02 #4
tobruk:

Problemet er at når jeg includer en side så er teksten der er skrevet i siden med, men billederne er ikke med hvis der er linket til dem relativt i forhold til siden der includes.

Jeg skal linke til elementer relativt i forhold til root.
Der vil jeg gerne at jeg kan lave mine sider så alle links er relative i forhold til den side de skal vises i, i stedet for altid at skulle linke til dem fra root folder.

gav det mere mening ?
Avatar billede olsensweb.dk Ekspert
12. maj 2012 - 13:20 #5
jeg vil bruge absolut referancer istedet, brug $_SERVER['DOCUMENT_ROOT']
require_once($_SERVER['DOCUMENT_ROOT']."/includes/side.php");
Avatar billede tubber Juniormester
12. maj 2012 - 15:06 #6
ronols: har siddet og kigget på dit link

er det muligt at lave det sådan her:

<?php
ini_set('include_path', '/includes');
include('side.php');
?>
Avatar billede olsensweb.dk Ekspert
12. maj 2012 - 16:39 #7
http://dk2.php.net/manual/en/ini.core.php#ini.include-path

du skal have den fulde path med under windows, dette burde også virke under unix
så prøv med (utested)
<?php
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/includes');
include('side.php');
?>


jeg ville om muligt sætte det direkte i php.ini (hvis man har rettigheder til det), istedet for i hver fil

udsnit af min egen php.ini
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = ".;C:\util\xampp\php\PEAR"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path[/pre][/div]


faldt lige over dette
ref http://dk2.php.net/manual/en/function.set-include-path.php
cloxy at cloxy dot com 27-Mar-2012 06:11
If you want to include files with their absolute path without changing the current include path, you can use the magic constant __DIR__ . For example:

<?php include(__DIR__.'/file.php'); ?>

It is available since PHP 5.3.
Avatar billede cpufan Juniormester
12. maj 2012 - 17:34 #8
når du laver en include, vil stierne blive regnet fra forældre-filen.

måden at undgå at billeder og lign ikke taber stien i include-filen,
når den bruges andre steder også er at:
sætte den fulde sti på billeder og lign. f.eks:
<img src="http://minside.dk/includes/billeder7mitbillede.jpg">
Avatar billede tubber Juniormester
16. august 2012 - 15:40 #9
cpufan : den lå jo lige til højrebenet :)

Og takker for den gode info ronols :)

Hvis ronols og cpufan ligger et svar kan jeg få givet point :)
Avatar billede olsensweb.dk Ekspert
16. august 2012 - 21:04 #10
svar
Avatar billede cpufan Juniormester
17. august 2012 - 00:49 #11
sv
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