Avatar billede cronaldo Nybegynder
21. oktober 2009 - 13:43 Der er 1 kommentar og
1 løsning

bruge ekstern fils indhold i $var

Hej eksperter...
Jeg sidder netop nu og konverterer min side til at kunne lave variable <title>'s osv.
Under dette projekt er jeg stødt ind i et lille problem. Jeg vil i hver fil lave ALT mit indhold til en variabel - fx $var ..

lad os sige et eksempel kunne være:

$var = "";
if($hej = 34){
  $var .= "hej";
} else {
  $var .= "du har lavet en fejl";
}
$var .= "en ny linje";

og så skriver jeg det ud blandt mit design ala dette:
$design = new design;
echo $design->Header();
echo $design->ContentTop();
echo $var;
echo $design->ContentBottom();
echo $design->Footer();

MEN MEN MEN!!

Hvis jeg nu vil hente ting ind fra en ekstern gør jeg det på en af flg. metoder:

$var .= include("fil.php");
$var .= eval( file_get_contents("fil.php") );

Dette giver dog en fejl idet alt hvad der hentes ind på denne måde skrives i toppen af koden i stedet for på det sted, hvor jeg indsætter det - har I en metode til at få det til at virke så den eksterne kode (såvel PHP som HTML osv.) kan sættes ind som den vil kunne med en normal include() i en "normal" fil hvor tingene ikke skal sættes i en variabel?
Avatar billede acore Ekspert
21. oktober 2009 - 16:58 #1
Brug PHP's output control funktioner - http://www.php.net/manual/en/ref.outcontrol.php.

Med eval bliver det noget med:

[code]
ob_start();
eval( file_get_contents("fil.php") );
$output = ob_get_contents();
ob_end_clean();
$var .= $output;
[/code]
Avatar billede cronaldo Nybegynder
21. oktober 2009 - 18:57 #2
Lige præcis :)
Du har reddet min dag, mange tak....
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