PHP ausgabe in String

nox

Erfahrenes Mitglied
Hallo

Ich möchte von einer PHP seite die ausgabe in einen String geschrieben haben

Beispiel

PHP:
// test.php

echo "Hello World";

// end test.php


// index.php

$string = include('test.php');

//end index.php

gibts da eine möglichkeit?
denn so wies ich beschrieben hab funktionierts nicht!

Greez Nox
 
Hi Nox,

es schauen ziemlich viele Fußball, deswegen dauerts eine weile bis hier im PHP-Forum geantwortet wird ^^

Zu deine Frage: Welche Inhalt möchtest du den gerne`? Den generierten HTML oder den Source von PHP ?

Falls du das ergebniss möchtest,das die php datei generiert lege ich dir file_get_content nahe.
Code:
$string = file_get_content('http://xx.xxx.xxx.xx/datei.php')

Falls du den source willst geht das mit fopen.(Glaube mit fiel_get_content auch aber da bin ich mir nicht ganz sicher)
Hier eine kleine Funktion.

PHP:
function lfile($path)
{
   $file = @fopen($path, "r");
   if($file) { 
      while(!feof($file)) {
         $temp = fgets($file, 4096);
		 $result .= $temp; 
      };  
   };
   return $result;
};
$string = lfile('test.php');

Gruss,
MArc
 
MArc_s hat gesagt.:
es schauen ziemlich viele Fußball, deswegen dauerts eine weile bis hier im PHP-Forum geantwortet wird ^^

Leider ist die WM für mich mehr oder weniger zur nebensache geworden, da die Schweiz auf den Sack bekommen hat ;o)
verfolge denn noch den Match...
Gut gespielt bis jetzt!

aber jetzt zurück zum Problem.
Ich benötige die HTML Ausgabe die die PHP Datei erzugt, nicht die Source.

Gemäss php.net:
file_get_contents -- Liest die gesamte Datei in einen String

ich benötige jedoch die Ausgabe

Nox
 
Offtopic:
Ja, jetzt sind sie raus^^

Topic:
file_get_contents mit "http://www.example.com/test.php".
Sprich die komplette URL, dann funktionierts.

MArc
 
Bei mir funktioniert das obige Script, aber komischerweise wird eine 1 hinter dem String angezeigt...

Natürlich musst du die Variable $string noch per "echo" ausgeben lassen.
 
Es geht auch anders:
PHP:
ob_start()
include("test.php");
$content = ob_get_contents();
ob_end_clean();

Und es kann auch sein, dass der PHP Paramter allow_url_fopen mal auf off stehen könnte. Dann solltest du mit fsockopen() arbeiten.
 
Entweder gleich alles was eigentlich ausgegeben werden sollte in eine Variable schreiben (so mach ich das), oder eben, wie fanste gezeigt hat, mit der Output Control arbeiten.
 
Hallo

Danke für die Lösung Fanste sie hat mir weitergeholfen.
Gilt allen die Trotz WM am Ball blieben ;o)

Greez Nox
 
Zurück