include in variabele stoppen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Chris visser

chris visser

23/12/2008 20:11:00
Quote Anchor link
Misschien een bekend vraagje

hoe kan ik een include in een variabele stoppen of hoe kan het anders. Dus iets in de vorm van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
function content()
{

  global $content;
  $content = include($path);
}


content();
echo $content;
?>
Gewijzigd op 01/01/1970 01:00:00 door Chris visser
 
PHP hulp

PHP hulp

28/04/2024 23:17:13
 
Rens nvt

Rens nvt

23/12/2008 20:23:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$content
= include("content.php");
?>


content.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
return "Dit is de content";
?>

Dacht ik zo, kwam vandaag iets over voorbij op phphulp, volgens mij example #5 op php.net bij include()
 
Chris visser

chris visser

23/12/2008 20:26:00
Quote Anchor link
ok, maar waarom werkt deze zelfde code niet met een variable?
 
Erwin Geen

Erwin Geen

23/12/2008 20:28:00
Quote Anchor link
Rens gebruikt toch een variabele?
 
Chris visser

chris visser

23/12/2008 20:30:00
Quote Anchor link
ik heb het over een variabele in een include

$content = include($variabele);
 
Erwin Geen

Erwin Geen

23/12/2008 20:33:00
Quote Anchor link
Heb je error_reporting aanstaan?
En is de variabele wel gevuld?
Gewijzigd op 01/01/1970 01:00:00 door Erwin Geen
 
Chris visser

chris visser

23/12/2008 20:34:00
Quote Anchor link
jup.

kijk:

include ($path); doet het wel
$content = include($variabele); doet het niet
$content = include("test.php"); doet het wel
Gewijzigd op 01/01/1970 01:00:00 door chris visser
 
Erwin Geen

Erwin Geen

23/12/2008 20:36:00
Quote Anchor link
Wat staat er dan in die variabele?
 
Chris visser

chris visser

23/12/2008 20:38:00
Quote Anchor link
sorry $variabele moest $path zijn. Dus:

include ($path); doet het wel
$content = include($path); doet het niet
$content = include("test.php"); doet het wel
 
Rens nvt

Rens nvt

23/12/2008 21:01:00
Quote Anchor link
zou wel moeten werken... hier het voorbeeld van php.net:

return.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$var
= 'PHP';
return $var;
?>


noreturn.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$var
= 'PHP';
?>


testreturns.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$foo
= include 'return.php';
echo $foo; // prints 'PHP'
$bar = include 'noreturn.php';
echo $bar; // prints 1
?>


of je het path in een variabele zet zou geen verschil mogen maken
Gewijzigd op 01/01/1970 01:00:00 door Rens nvt
 
Tom Burger

Tom Burger

23/12/2008 21:59:00
Quote Anchor link
Als je de output van een php file wil "opvangen" in je script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
ob_start ();
include ("give_output.php");
$foo = ob_get_clean ();


- Tom
 
Chris visser

chris visser

23/12/2008 22:24:00
Quote Anchor link
Hoe moeilijk moet het zijn..

Ik wil geen phpbestand includen maar een include met een variabele ($path) in een variabele ($content) zetten die ik elders op de website kan neerzetten.
 
Rens nvt

Rens nvt

23/12/2008 22:50:00
Quote Anchor link
En dit werkt bij jou niet dan?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $file
= "blaat.php";
    echo include($file);
?>

blaat.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $content
= "Dit is de content";
    return $content;
?>
 
Erwin Geen

Erwin Geen

23/12/2008 22:55:00
Quote Anchor link
Je kan ook file_get_contents gebruiken.
 
- SanThe -

- SanThe -

23/12/2008 23:29:00
Quote Anchor link
Lees alle posts van Rens nog eens door.
En let dan in het bijzonder op het woordje 'return'.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Chris visser

chris visser

23/12/2008 23:31:00
Quote Anchor link
Ik heb al een andere oplossing gevonden. Ik gebruikte het script om modules te includen etc.

Probleem was echter dat ik geen extra bestanden wilde gebruiken
Gewijzigd op 01/01/1970 01:00:00 door chris visser
 
Kumkwat Trender

Kumkwat Trender

24/12/2008 01:15:00
Quote Anchor link
Quote:
Probleem was echter dat ik geen extra bestanden wilde gebruikenp

dus als ik het goed begrijp heb je allemaal modules enz in 1 bestand gezet? (niet slim...)
 
Chris visser

chris visser

24/12/2008 01:20:00
Quote Anchor link
ehm, ik begrijp je vraag niet helemaal. Ik heb het volgende

index.php
include config.php (DB connect enz)
include main.php (functies etc)

admin.php
-deze heeft een functie die wanneer je erop klikt alle mappen uit de modulemap leest. De mappen worden in een database gezet

main.php
-deze maakt functies aan voor het uitlezen van de moduletabel in de database en include de module die op dat moment in de link staat. Hij zet er dan automatisch rechten bij enz

Een beetje zoals phpnuke alleen doet hij wat meer dingen automatisch.
Is dat niet veilig dan?
 
Kumkwat Trender

Kumkwat Trender

24/12/2008 01:27:00
Quote Anchor link
naja, ik had ergens gelezen dat je bestanden juist klein mogelijk moest houden. zeg maar dat je met allemaal delen moest gaan werken.
want stel je voor dat je een bestand hebt met 80 functies en je hebt er maar een nodig. dan laad je eerst alles in waardoor je zeg maar meer tijd verliest enz. enz. ik hoop dat je het ongeveer snapt.
en het werkt ook simpeler wanneer je meerdere bestanden hebt die opgeschoond en netjes eruit zien dan een pagina die helemaal vol is gescript.
 
Chris visser

chris visser

24/12/2008 01:30:00
Quote Anchor link
Maar een functie word toch pas ingeladen wanneer hij opgeroepen word?
 
- SanThe -

- SanThe -

24/12/2008 01:33:00
Quote Anchor link
chris schreef op 24.12.2008 01:30:
Maar een functie word toch pas ingeladen wanneer hij opgeroepen word?

Nee, een include wordt, zoals include betekent, inbegrepen, dus ingeladen.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.