lillanMedlem sedan dec. 200475 inlägg Jag har gjort så här;
<?php include '../top.php'; ?>
<?php include '../header.php'; ?>
<?php include '../main.php'; ?>
osv.
Men validatorn säger att det är superfel och hittar inte ens min doctype :l
Trodde det var så enkelt att bara skriva så, men misstänker att jag gör fel.
Någon som vill visa?
silfverMedlem sedan apr. 200312 679 inlägg Så här brukar jag göra mina includes:
require($_SERVER["DOCUMENT_ROOT"]."/includes/top.php");
Då utgår den från rooten på sidan. Alltså www.domän.se. :) Ovanstående kod blir alltså: www.domän.se/includes/top.php
FiaMedlem sedan apr. 20042 994 inlägg Saknar du inte parenteser?
include('../undermapp/hejhopp.php');
MatteMedlem sedan aug. 20002 975 inlägg
Fia skrev:
Saknar du inte parenteser?
PHP-manualen skrev:
Because include() is a special language construct, parentheses are not needed around its argument.
Det finns alltså inte större anledning att använda parenteser här, än till echo eller print.
MatteMedlem sedan aug. 20002 975 inlägg
lillan skrev:
Men validatorn säger att det är superfel ...
Vilken validator ?
Det ska gå bra att inkludera på det sättet du gör.
FiaMedlem sedan apr. 20042 994 inlägg Aha, där ser man! Man lär sig nåt varje dag. :)
lillanMedlem sedan dec. 200475 inlägg
Fia skrev:
Saknar du inte parenteser?
include('../undermapp/hejhopp.php');
Alltså ska jag ersätta ex:
<?php include '../top.php'; ?>
till:
<?php include '../blog/top.php'; ?>
Eller hur ska jag skriva?
MatteMedlem sedan aug. 20002 975 inlägg Det hänger samman med hur skriptet du inkluderar ligger i förhållande tillaktuellt skript.
Tänk bara på att om skript 1 inkluderar skript 2 som i sin tur inkluderar skript 3, så är det i skript 2 sökvägen från skript ett som är den som gäller för inkluderingen.
Ligger dina skript 1-3 då i olika kataloger, då blir det att göra som silfver föreslog.
lillanMedlem sedan dec. 200475 inlägg
Matte skrev:
Det hänger samman med hur skriptet du inkluderar ligger i förhållande tillaktuellt skript.
Tänk bara på att om skript 1 inkluderar skript 2 som i sin tur inkluderar skript 3, så är det i skript 2 sökvägen från skript ett som är den som gäller för inkluderingen.
Ligger dina skript 1-3 då i olika kataloger, då blir det att göra som silfver föreslog.
Åhh my god, vad svårt du skriver :p
menar du alltså att jag kan skriva så som jag redan gjort?
För nu har jag krånglat till det tror jag :r
<?php include '../top.php'; ?>
<?php include '../header.php'; ?>
<?php include '../main.php'; ?>
MatteMedlem sedan aug. 20002 975 inlägg Om du kör ett skript där dessa inkluderingar finns med, och filerna finns en våning upp, då ska det fungera.
Men om du skulle inkludera detta skript i ett annat skript, då är det det nya skriptets sökvägar som gäller för inkluderingen i detta skript.
När man inkluderar skript som i sin tur inkluderar skript, då gäller att alla skripten ligger i samma katalog (sånär som på det första), eller så får man använda absoluta sökvägar (som GunnarD föreslog).
Jag brukar använda
dirname(__FILE__)
för att få aktuell katalog där scriptet ligger, följt av filnamnet. Alltså i detta fall:
require(dirname(__FILE__)."/../filnamn.php");