2012-04-03 12 views
0

$ content = file_get_contents ('file.php');Daten von PHP-Variable erhalten

echo $ content;

nichts angezeigt wird, erwarten, wenn die Seite Quelltext in Browser angezeigt auf dem Display dieses

<? foreach(glob("folder/*.php") as $class_filename) { require_once($class_filename); } ?> 

ist, so dass es das Skript wird nicht ausgeführt, wenn der Inhalt bekommen ..

file.php enthält diesen Code <? foreach(glob("folder/*.php") as $class_filename) { require_once($class_filename); } ?>

und wenn ich als nächstes tun

$content = foreach(glob("folder/*.php") as $class_filename) { require_once($class_filename); } ?> 

es beschwert sich über unerwartete foreach ...

ist es eine Möglichkeit, den Ordner/.php Dateien Inhalt auf einzelne Variable $ zu lesen und dann echo/print alle Ordner/ .php Dateien Seite, wo es sein sollte ?

danke für Hilfe schon.

+0

Könnten Sie die Fehlermeldungen drucken genau Sie bekommen? –

Antwort

1

Wollen Sie das tun?

$content = ''; 
foreach (glob('folder/*.php') as $class){$content .= file_get_contents($class);} 
echo $content; 
+0

eigentlich ja .. aber beide Antworten sind gut und ich kann sie verwenden. :) danke – Joakim

+0

Nein, DaveyBoy Code ist besser, wenn Sie ** den PHP-Code ** ausführen möchten. Mine wird den Code in der Datei nicht ausführen, er liest nur den Dateiinhalt. Also, wenn Sie Ihre Dateien ausführen müssen, verwenden Sie DaveyBoy-Code, wenn Sie es nicht benötigen, ist meiner besser (weil Sie nicht Dateien überprüfen). Dies ist zwei unterschiedliche Verwendung. – mamadrood

1

Was Sie versuchen, wird den Inhalt der Datei "file.php" nicht ausführen, nur den Inhalt auf dem Bildschirm anzeigen.

Wenn Sie file.php ausführen möchten, verwenden Sie eval ($content)

die Ausgabe zu erfassen, verwenden Sie so etwas wie:

ob_start();    // Don't echo anything but buffer it up 

$codeToRun=file_get_contents('file.php'); // Get the contents of file.php 
eval ($codeToRun);  // Run the contents of file.php 
$content=ob_get_flush(); // Dump anything that should have been echoed to a variable and stop buffering 

echo $content;   //echo the stuff that should have been echoed above 
+0

danke für den Code :) – Joakim