12 564 besökare online
858 482 medlemmar • 45 880 491 inlägg
Användarnamn 
Lösenord
Flashback Forum > Dator och IT > Systemutveckling > PHP
Svara på ämne
Ämnesverktyg
trinitas
Medlem
trinitass avatar
jag har en test mapp i "htdocs" och i några sidor så har jag
Kod:
<?php include('includes/session.php'); ?>

Men om jag gör en ny mapp i "test" och gör en php fil hur ska jag då skriva för att hitta tillbaka till session.php

(../) fungerar inte, då hoppar den tillbaka till c:/xampp
 
fnirp
Medlem
fnirps avatar
Citat:
Ursprungligen postat av trinitas
jag har en test mapp i "htdocs" och i några sidor så har jag
Kod:
<?php include('includes/session.php'); ?>

Men om jag gör en ny mapp i "test" och gör en php fil hur ska jag då skriva för att hitta tillbaka till session.php

(../) fungerar inte, då hoppar den tillbaka till c:/xampp

Jag brukar definiera "roten" i en variabel så jag vet var nollpunkten är.

$root = '/home/domain/flashback.se/public_html/project1';

Sedan använder jag variabeln när jag komma åt undersidor/undermappar

include("$root/includes/session.php");

Alltså hoppar jag inte ett steg tillbaka, utan pekar ut "från början" varje gång. Kanske finns det smidigare sätt, vad vet jag, det här är bara en vana jag lagt mig till med då det funkar för mig.

Jag tycker det är lätt att flytta ett projekt mellan olika kataloger då, bara ändra på ett ställe typ.
__________________
Mitt liv började när jag var liten och vi har bara ett liv, det är ingen generalrepetition //Pasi Salonen
 
havsmonstret
Medlem
include och require utgår ifrån filen som exekveras. Om du utgår från /index.php till exempel kommer include och require också göra det, även om include:n ligger i en annan fil som inkluderas i /index.php

Du kan även definera en "basepath" (Liknande fnirps lösning ovan) med dirname(__FILE__);
Kod:
define('BASEPATH'dirname(__FILE__)); 
Sen kan du enkelt inkludera filer i ditt projekt där BASEPATH är rooten för ditt projekt, förutsatt att koden ovan körs i en fil som ligger i rooten.
__________________
Senast redigerad av havsmonstret 2012-08-07 kl. 14:04.
 
trinitas
Medlem
trinitass avatar
en liten snabb säkerhetsfråga också.
Är det inte bättre att använda "require('session.php')" istället för "include('session.php')" ?
 
fnirp
Medlem
fnirps avatar
Citat:
Ursprungligen postat av trinitas
en liten snabb säkerhetsfråga också.
Är det inte bättre att använda "require('session.php')" istället för "include('session.php')" ?

Har man en massa includefiler som gör saker som inte borde göras om någon tidigare includefil inte exekverats, ja då har man väl en brist i sin inre säkerhet. Detta oavsett om man använder require eller include.

Själv tycker jag det är snyggare att avbryta exekveringen helt om något saknas. Mindre skräpmeddelanden ut till slutanvändaren helt enkelt.
__________________
Mitt liv började när jag var liten och vi har bara ett liv, det är ingen generalrepetition //Pasi Salonen
 
Svara på ämne
Topp Dela »