"Rückgabe" von include()

- php
Hi,
ich steh grad vor einem Problem, wovon ich ausgehe, ich bin nur blind und verwende falsche Suchwörter.
Ich will die Ausgabe einer PHP-Datei in einen String schreiben.
Jetzt geh ich momentan den Umweg über eine URL und file_get_contents()
Die Ausgabe im "Includescript" erfolgt einfach per
header("Content-Type: text/plain");
echo $name['name'];
Wie bekomme ich nun diese Ausgabe in einen String, ohne den Umweg über eine URL gehen zu müssen?
Sinngemäss(!) ein
$string = include "datei.php";
thx4hlp
Gruss
Manuel
hi,
Ich will die Ausgabe einer PHP-Datei in einen String schreiben.
Jetzt geh ich momentan den Umweg über eine URL und file_get_contents()Wie bekomme ich nun diese Ausgabe in einen String, ohne den Umweg über eine URL gehen zu müssen?
Wenn du die _geparste Ausgabe_ dieses Scriptes haben willst, _musst_ du über HTTP gehen (Ekligkeiten wie eval wollen wir hier ja nicht erwähnen^W^W^W^W^W^W^W^W^W).
Oder du bindest das Script eben per include ein - wenn du das an der "richtigen" Stelle machst, hast du die Ausgabe schon da, wo sie hin soll.
Wenn das nicht geht - dann bleibt wohl nur output buffering - Buffer aktivieren, include machen, Bufferinhalt in Variable einlesen und Buffer löschen.
gruß,
wahsaga
Hi,
Wenn du die _geparste Ausgabe_ dieses Scriptes haben willst,
Die ungeparste ist ja kein Problem ;)
_musst_ du über HTTP gehen
Hab ich befürchtet ....
(Ekligkeiten wie eval wollen wir hier ja nicht erwähnen^W^W^W^W^W^W^W^W^W).
Das will ich in jedem Fall vermeiden. Wie du sagst, ist das eklig ;)
Oder du bindest das Script eben per include ein - wenn du das an der "richtigen" Stelle machst, hast du die Ausgabe schon da, wo sie hin soll.
Das ist ein Problem. Es ist ein Modul, das u.a. unter PHPKIT läuft. Und da wird der gesammte Text als Variable übergeben, somit muss ich die Ausgabe auch als Variable "verarbeiten"
Wenn das nicht geht - dann bleibt wohl nur output buffering - Buffer aktivieren, include machen, Bufferinhalt in Variable einlesen und Buffer löschen.
Auch ungünstig. PHPKIT-Anwender sind zu 98% PHP-Laien (um das mal vorsichtig auszudrücken). Bis ich eine Doku geschrieben hab, wie die das einbinden müssen, ist PHPKIT veraltet :D
Vermutlich werd ich die Scripte umbauen, damit die Ausgabe nicht direkt erfolgt, sondern eine Variable zur Verfügung gestellt wird.
Danke aber trotzdem.
Hi,
Vermutlich werd ich die Scripte umbauen, damit die Ausgabe nicht direkt erfolgt, sondern eine Variable zur Verfügung gestellt wird.
Muß keine Variable sein. Gib am Ende der einzubindenden PHP-Datei das Gesummse mit return zurück an das Hauptscript.
Gruß, Cybaer
Hi,
Muß keine Variable sein. Gib am Ende der einzubindenden PHP-Datei das Gesummse mit return zurück an das Hauptscript.
Und wie bekomm ich den Wert dann in einen String?
Hi,
Und wie bekomm ich den Wert dann in einen String?
<?php
// include.php
return "asafaffafa";
?>
Im Hauptscript: $ergebnis=include("include.php");
Gruß, Cybaer
Hi,
<?php
// include.php
return "asafaffafa";
?>Im Hauptscript: $ergebnis=include("include.php");
Habs grad auch in der Doku gefunden. Danke für den Tip. Ich denke, das hilft mir bei einigen Problemen weiter. Bisher kannte ich diese Funktion nicht und hatte es wohl immer überlesen.
Hi,
Wenn du die _geparste Ausgabe_ dieses Scriptes haben willst, _musst_ du über HTTP gehen
Das ist so nicht korrekt. Unter Apache mit PHP als Modul kann hier virtual() verwendet werden.
Gruß, Cybaer
hi,
Wenn du die _geparste Ausgabe_ dieses Scriptes haben willst, _musst_ du über HTTP gehen
Das ist so nicht korrekt. Unter Apache mit PHP als Modul kann hier virtual() verwendet werden.
Danke, kannte ich noch nicht.
(Auch wenn der Unterschied HTTP-Request <-> interner Subrequest hier m.E. kein sonderlich großer ist.)
gruß,
wahsaga
Hi,
(Auch wenn der Unterschied HTTP-Request <-> interner Subrequest hier m.E. kein sonderlich großer ist.)
Definiere "sonderlich groß"! =;-)
Gruß, Cy-"und komm mir jetzt nicht mit '>20cm'!"-baer O;-)
Hi,
Das ist so nicht korrekt. Unter Apache mit PHP als Modul kann hier virtual() verwendet werden.
Kannte ich auch noch nicht, werd ich mir merken. Allerdings in meinem Fall ungünstig, da die Scripte auch mit PHP-CGI ausfürbar sein müssen.
Ich grüsse den Cosmos,
Wenn das nicht geht - dann bleibt wohl nur output buffering - Buffer aktivieren, include machen, Bufferinhalt in Variable einlesen und Buffer löschen.
Ich bin gerade am Ausarbeiten eines Konzeptes für Erweiterungsmodule unter PHP.
Jetztz hab ich das mal mit Outputbuffering probiert und hab ne frage: Gibts irgendwas, was dagegen spricht? Speichernutzung, Verfügbarkeit, Sicherheitslücken ....
Mein Ansatz:
ob_start()
echo "Das ist mein text";
$string = ob_get_clean();
Würde mal eure Meinung interessieren :)
Möge das "Self" mit euch sein
Hi,
Jetztz hab ich das mal mit Outputbuffering probiert und hab ne frage: Gibts irgendwas, was dagegen spricht?
Nein
Allerdings ist ob_get_clean() erst ab 4.3 verfügbar. Ältere PHPs sind aber noch im Produktiveinsatz (ab 4.1 geht es praktisch los).
Gruß, Cybaer
Hallo.
Allerdings ist ob_get_clean() erst ab 4.3 verfügbar.
Dafür nimmt es die Regel auf, wo sie passiert. -- Jetzt auch als ob_get_clean( ) für die stärkeren Tage.
MfG, at
Hi,
Allerdings ist ob_get_clean() erst ab 4.3 verfügbar.
Dafür nimmt es die Regel auf, wo sie passiert. -- Jetzt auch als ob_get_clean( ) für die stärkeren Tage.
Pfui, pfui - PFUI!
Gruß, Cybaer
Ich grüsse den Cosmos,
Allerdings ist ob_get_clean() erst ab 4.3 verfügbar. Ältere PHPs sind aber noch im Produktiveinsatz (ab 4.1 geht es praktisch los).
Das ist kein Problem, da dieses Projekt sowieso PHP5 vorraussetzt ;)
Also kann ich das bedenkenlos verwenden.
Möge das "Self" mit euch sein
mit "file" ?
mit "file" ?
Und was soll ich dann mit dem Quelltext in meinem String?
Schlimmer noch, ich hab dann keinen String sondern ein Array ;)