[PHP] Inhoud van bestand in variabele plaatsen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een variabele $content en het is de bedoeling dat hier PHP-code vanuit een bestand. Nu is het wel zo dat dat in dat andere bestand weer een include zit naar een ander PHP-bestand. Hoe los ik dit op? De code die ik nu heb is als volgt.


PHP:
1
$content  = "<?php include (\"shoppingcarttable.php\"); ?>";


In deze shoppingcarttable.php wordt weer verwezen naar een ander bestand met behulp van een include. Alle gegevens moeten in de variabele kunnen worden gezet.
De inhoud van de variabele wordt in ieder geval later weer ergens anders gebruikt als werkende PHP-code. Nu is dat nog niet het geval.
Misschien moet het niet met een include opgelost worden, maar ik zou niet weten hoe anders.

[ Voor 7% gewijzigd door Verwijderd op 01-11-2006 22:29 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je maakt mij niet wijs dat je gezocht hebt of dat je enige moeite whatsoever hebt gedaan.

Ik wijs je er nog een keer op, maar dat hebben we inmiddels vaak genoeg gedaan: Programming Beleid - De "quickstart".

[ Voor 51% gewijzigd door RobIII op 01-11-2006 22:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb dus flink gezocht, ik weet dat het niet mogelijk is om de inhoud van een bestand weg te schrijven naar een variabele met behulp van include of require. Wat dan bijvoorbeeld wel gebeurd, wanneer ik de variabele uitlees, is dat ik '1' krijg te zien op de webpagina.

Ik heb de juiste PHP-functie nodig die ervoor zorgt dat de inhoud van het bestand inclusief de include die ervoor zorgt dat een ander bestand ook wordt meegenomen, wordt weggeschreven in een variabele.

[ Voor 27% gewijzigd door Verwijderd op 01-11-2006 23:58 ]


Acties:
  • 0 Henk 'm!

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Was dat niet implode of explode oid?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik ben niet zo bekend met PHP, maar als ik je juist begrijp staat je oplossing toch echt letterlijk in de manual...


PHP:
1
2
3
4
5
<?php
$foo = include('http://www.google.com/search?hl=en&q=testing+1+2+3&btnG=Google+Search');

echo $foo
?>


Wil je nou de code van dat bestand in een var hebben, of de output van dat bestand in een var?

PHP:
1
2
3
4
5
<?php
$foo = readfile('./foo.php');

echo $foo
?>

[ Voor 48% gewijzigd door RobIII op 02-11-2006 00:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op woensdag 01 november 2006 @ 23:55:
Wat dan bijvoorbeeld wel gebeurd, wanneer ik de variabele uitlees, is dat ik '1' krijg te zien op de webpagina.
Die 1 komt idd ook in de manual voor. Voorbeeld van php.net:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
//return.php
$var = 'PHP';
return $var;

//noreturn.php
$var = 'PHP';

//testreturns.php
$foo = include 'return.php';
echo $foo; // prints 'PHP'
$bar = include 'noreturn.php';
echo $bar; // prints 1

Je kunt in een include() dus ook gewoon return() gebruiken blijkbaar.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grote prutser schreef op donderdag 02 november 2006 @ 00:36:
[...]

Die 1 komt idd ook in de manual voor. Voorbeeld van php.net:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
//return.php
$var = 'PHP';
return $var;

//noreturn.php
$var = 'PHP';

//testreturns.php
$foo = include 'return.php';
echo $foo; // prints 'PHP'
$bar = include 'noreturn.php';
echo $bar; // prints 1

Je kunt in een include() dus ook gewoon return() gebruiken blijkbaar.
Wat er moet gebeuren, is dat de volledige inhoud van het bestand shoppingcarttable.php inclusief de volledige inhoud van het bestand wat in shoppingcarttable in de variabele moet worden geplaatst. Dat betekent dus dat alle html-code en PHP-code die zich in shoppingcarttable.php bevindt, wordt geschreven in de variabele $content. Deze variabele wordt op een andere plaats weer geopend, zodat alle html-code en PHP-code weer kan worden uitgevoerd. Nu is dat nog niet het geval.

Misschien moet er nog extra code worden toegevoegd aan shoppingcarttable.php of misschien moet er een andere functie komen om het hele bestand weg te schrijven in de variabele. Ik heb het met include (resultaat = 1, require (resultaat = 1) en readfile (geen resultaat) geprobeerd. Ik heb ook op php.net gekeken waarom die 1 verschijnt, maar dat gaat volgens mij alleen maar over PHP-code zelf als enige code van het geinclude bestand. Daar kan ik niet wegwijs uit worden in ieder geval.

Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op donderdag 02 november 2006 @ 11:24:
[...]


Wat er moet gebeuren, is dat de volledige inhoud van het bestand shoppingcarttable.php inclusief de volledige inhoud van het bestand wat in shoppingcarttable in de variabele moet worden geplaatst. Dat betekent dus dat alle html-code en PHP-code die zich in shoppingcarttable.php bevindt, wordt geschreven in de variabele $content.
file_get_contents ? :)

Hiermee krijg je enkel nog niet wat er in de include weer word geinclude. Misschien dat je zelf iets kan schrijven die opzoek gaat naar includes()? Want volgens mij is er niet een kant-en-klare functie die doet wat jij wilt :)

Waarom wil je die code opslaan? Het is toch veel handiger om de include te doen waar je die echt nodig heb? :?

[ Voor 29% gewijzigd door user109731 op 02-11-2006 11:32 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ik kan me toch niet aan de indruk onttrekken dat je hier iets heel erg ranzigs aan het doen bent...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
crisp schreef op donderdag 02 november 2006 @ 11:29:
Ik kan me toch niet aan de indruk onttrekken dat je hier iets heel erg ranzigs aan het doen bent...
Ik heb ook het idee dat de topic starter iets aan het doen is wat hij beter met een Template systeem zoals bijvoorbeeld Smarty kan doen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

PHP:
1
2
3
4
5
6
7
8
9
10
11
ob_start();

//Vul je variabelen.
$var1 = "Dit is var 1";
$var2 = "Dit is var 2";

//Include je template die geparsed moet worden. Output wordt gegenereerd.
require_once('template.inc.php');

//Stop de gegenereerde output in een variabele
$output = ob_get_clean();


Bedoel je zoiets?

[ Voor 3% gewijzigd door Brakkie op 02-11-2006 11:57 ]

Systeem | Strava


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het moge dan ranzig zijn, het is helaas niet mijn keuze meer om het anders te doen. Ik werk samen met iemand anders en die heeft PHP-nuke geheel verbouwd. Nu moet daar een webshop met winkelwagen ingebouwd worden, maar die krijg ik er dus alleen maar op deze manier in (de winkelwagen). De $content (waar de winkelwagen in komt te staan) wordt ergens anders weer gelezen namelijk.
Pagina: 1