[PHP] Include vraagje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • basvcds
  • Registratie: December 2001
  • Laatst online: 08-01-2024

basvcds

Multimonitormannetje

Topicstarter
Hallo allemaal.

Ik ben sinds kort een beetje begonnen met php en heb een vraagje over het include command.

Ik gebruik op mn site verschillende phpschripts (een newsscript, forum, gallery).
Hierboven wil ik graag mn eigen header zetten uit een html bestand (gemaakt in fireworks. De header bestaat uit header.htm en de map headerimg.

Ik gebruik hiervoor
code:
1
<?php $path = "C:/webroot/public/gs/"; include( $path . "header.htm" ); ?>


Nu is het echter zo dat alle links (van plaatjes en links naar pagina) allemaal relatief worden gemaakt naar de folder waar de header vanuit word uitgevoerd (bijvoorbeeld de /forum dir). Weet iemand of ik er misschien voor kan zorgen dat de include gewoon de links vanuit de originele plek van header.htm kan pakken ? Thx

www.baskoole.com


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je kan in het include commando gewoon relatieve paden gebruiken hoor. :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • basvcds
  • Registratie: December 2001
  • Laatst online: 08-01-2024

basvcds

Multimonitormannetje

Topicstarter
Ik zal het wat beter uitleggen:

Ik heb in C:/webroot/public/gs/ de header.htm en map headerimg staan.
Zodra ik het command in bijv. C:/webroot/public/gs/forum gebruik, denkt de header.htm dat de plaatjes en alle links daarin dat alle bestanden zich in C:/webroot/public/gs/forum/headerimg staan.
Mn vraag is of daar misschien iets aan te veranderen valt.

www.baskoole.com


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Volgens mij moet je gewoon even opzoeken wat relatieve paden zijn. ;)

[ Voor 6% gewijzigd door Voutloos op 27-01-2005 14:35 ]

{signature}


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Alle paden die je gebruikt zijn relatief aan de map waarin het bestand staat waar je op dat moment in aan het tikken bent. Neem aan dat je deze structuur hebt: / (root): de map waarin je hoofdscript staat. /include/: de map waar header.php staat. /include/lib/: de map van een andere include.

Hoofdscript:
PHP:
1
include('include/header.php');


Header:
PHP:
1
include('lib/anderbestand.php');

Dat is alles. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Volgensmij gaat het hier om de paden in de HTML code.

<base href="/mapje" /> In de head van je HTML zou moeten werken.

[ Voor 10% gewijzigd door R_W op 27-01-2005 15:18 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Relatieve paden zijn in HTML niet anders dan in PHP hoor. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 17-09 15:48
R_W schreef op donderdag 27 januari 2005 @ 15:18:
Volgensmij gaat het hier om de paden in de HTML code.

<base href="/mapje" /> In de head van je HTML zou moeten werken.
Zoals -NMe- als zegt is het in PHP niet anders. Je moet alleen geen slash aan het begin van je relative pad zetten want dan gaat het mis. In ieder geval in Linux, want dan begint PHP dus bij je root te zoeken. (Zoals een absoluut pad dus)

Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Nu is het echter zo dat alle links (van plaatjes en links naar pagina) allemaal relatief worden gemaakt naar de folder waar de header vanuit word uitgevoerd (bijvoorbeeld de /forum dir).
Door de include kloppen de links naar zijn plaatjes niet meer omdat de header normaal bijv in /templates staat. Maar als hij geinclude wordt in /blaat, verwijzen zijn plaatjes naar /blaat/plaatje.jpg, terwijl het plaatje in /templates/plaatje.jpg staat...

"base href" is daar een oplossing voor, alleen gaat het alleen hier om de header en zal deze "base href" op het hele document effect hebben. Wat ik zou doen is: laat base href verwijzen naar de root van je site en zorg dat elk document zijn links relatief aan de root opbouwt.

Acties:
  • 0 Henk 'm!

  • basvcds
  • Registratie: December 2001
  • Laatst online: 08-01-2024

basvcds

Multimonitormannetje

Topicstarter
thx allemaal, via base href heb ik mn zootje aan de gang gekregen :)

www.baskoole.com

Pagina: 1