Gå til innhold

$IncludeDir flere foldere


Anbefalte innlegg

Videoannonse
Annonse

Her er scripte jeg bruker i index filen min jeg vill hente en fil som ligger i folder

../forum/index.php altså et nivå under hvor index filen ligger og opp til folderen forum.

<?php

 

$IncludeDir = "./doc";

$DefaultPath = "./doc/hoved.php";

$FileExtension = ".php";

 

if (isset($side)) {

$side = stripslashes(strip_tags($side));

$Forbidden1 = ereg("\.\./", $side);

$Forbidden2 = ereg("/", $side);

$IncludePath = $IncludeDir . "/" . $side . $FileExtension;

 

if ($Forbidden1 OR $Forbidden2) {

echo "<h1>Advarsel</h1>\n";

echo "<p>Forespørsler på tvers av definerte \n";

echo "områder er ikke tillatt.</p>\n";

}

else {

if (@fopen("$IncludePath", "r")) {

include ("$IncludePath");

}

elseif (!(@fopen("$IncludePath", "r"))) {

echo "<h1>Server Error 404</h1>\n";

echo "<p>Finner ikke den forespurte siden.</p>\n";

}

}

}

else {

include("$DefaultPath");

}

 

?>

 

Her er Meny scriptet:

 

<p><b>Innhold</b></p>

<p><a href="index.php?side=hoved">Hovedsiden</a><br>

<a href="index.php?side=test">Test</a><br>

<a href="index.php?side=index">Forum</a><br> HVA MÅ STÅ HER?

 

</p>

 

<p>  </p>

Lenke til kommentar

Alt det bare for å include filer?

Bygg om scriptet:

 

<?php
$IncludeDir = "./doc/";
$DefaultPath = "./doc/hoved.php";

if(!empty($_GET['side'])){
   $side = $IncludeDir.$_GET['side'].".php";
   if(file_exists($side)){ 
       include "$side"; 
   }else{
       echo "Siden finnes ikke";
   }
}else{
   include "$DefaultPath"; 
}

 

For å include f.eks. doc/forum.php skriver du:

<a href="index.php?side=forum">Forum</a>

 

NB: du burde ikke bruke isset() på variabler som sendes via skjema eller i adresse linjen - bruk empty().

 

EDIT: scriptet du bruker bygger på at register globals er on - variabler sendt via adresselinjen er tilgjenglig i variabelen $_GET['VariablNavn']

Endret av ????????
Lenke til kommentar

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

Laster...
×
×
  • Opprett ny...