![]() |
[PHP] Ausgabespeicher ändern und ausgeben
Hallo Comunity,
ich habe mal wieder eine Frage zu PHP! Ist es möglich den Kompletten Ausgabespeicher einzulesen, zu ändern und danach wieder einzulesen. Ich kann den Ausgabespeicher ja löschen, aber einlesen und ändern hab ich nirgends gefunden. Ich hoffe ihr könnt mir helfen! Danke im vorraus! |
Re: [PHP] Ausgabespeicher ändern und ausgeben
schau dir mal die ob_* Funktionen an ;)
genauer ob_get_content() oder so ... |
Re: [PHP] Ausgabespeicher ändern und ausgeben
Code:
echo "Das hier wird nie angezeigt!";
$output = ob_get_contents(); $output = str_replace("nie", "jetzt", $output); ob_end_clean(); //bei bedarf: ob_start(); echo $output; |
Re: [PHP] Ausgabespeicher ändern und ausgeben
@nat: du musst vorher ob_start() aufrufen, damit das Output-Buffering auch sicher an ist.
Je nach Server-Einstellung wird der Content naemlich direkt zum Browser geflusht (wenn implicit_flush = on) ;) Ab PHP 4.3.0 kannst du uebrigens statt
Code:
auch das verwenden:
$output = ob_get_contents();
ob_end_clean();
Code:
;)
$output = ob_get_clean();
Greetz alcaeus |
Re: [PHP] Ausgabespeicher ändern und ausgeben
Danke für die Antorten. Es funktioniert nur nicht ganz!
Ich habe jetzt mit:
Code:
Versucht alle Zeilenumbrüche zu entfernen. Enige hat er auch entfernt, aber nicht alle. Kann es daran liegen, das an diesen Stellen nicht mit PHP sondern mit HTML gearbeitet wurde?
$output = ob_get_contents();
$output = str_replace("\n", "", $output); ob_end_clean(); echo $output; |
Re: [PHP] Ausgabespeicher ändern und ausgeben
Eventuell wurde das Andere (nicht geänderte) auch schon gesendet?
die PHP-Dinger warten ja nicht bis zum Ende der Abarbeitung und senden erst dann ;) |
Re: [PHP] Ausgabespeicher ändern und ausgeben
Doch! Dank dem ob_start() machen sie das schon. Da wird gewartet, bis alles im Speicher ist. Dann werden (SOLLTEN!!!) alle Umbrücher entfernt und dann wird alles auf einen Schlag ausgegeben. Machts aber nich
|
Re: [PHP] Ausgabespeicher ändern und ausgeben
Hat sich erledigt! Habe noch
Code:
hinzugefügt und jetzt wurden alle umbrüche entfernt.
$output = str_replace(chr(13), "", $output);
$output = str_replace(chr(10), "", $output); Danke an alle die geholfen haben! |
Re: [PHP] Ausgabespeicher ändern und ausgeben
dann kannst du ja str_replace("\n", "", $output); weglassen, denn dieses "/n" sollte doch chr(10) sein?
|
Re: [PHP] Ausgabespeicher ändern und ausgeben
So, habe nun noch einen Fehler festgestellt.
Es functioniert alles! Nur habe ich das Problem, wenn ich per php-Explorer eine Datei ändere und Speichere funktioniert es nict mehr, obwohl sich der Inhalt der Datei nicht geändert hat. (Binär-gleiche Dateien). Was mach ich falsch? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz