php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.10.2006, 10:27  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard Datei einlesen - ausgeben + php code ausführen

Hallo!

Ich lese eine Datei in ein Array ein, dann wird Zeile für Zeile mit echo ausgegeben. Das Problem ist, wenn in der Datei PHP-Code ist, wird dieser nicht ausgeführt. Wie kann ich das Problem beheben?

Code:
$datei = file($_GET['rslt']);
foreach($datei as $zeilen){
$zeilen = preg_replace("/((<[^>]*)|$kw)/ie", '"\2"=="\1"? "\1":"<span class=\"error\">\1</span>"', $zeilen);
echo $zeilen;
}
}
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.10.2006, 10:48  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Nein, das ist kein Problem. Andersrum wäre es ein Problem. Stell dir vor, jede Datei, die du einliest, würde automatisch ausgeführt werden. Es gäbe keine Upload-Skripte im Netz!

Möglichkeiten wären:
Datei verändert abspeichern und dann "includen". Oder erst "includen", vorher aber den output buffer anschmeipen und dann de Daten im Buffer ersetzen und ausgeben.

Basti
Basti ist offline  
Alt 18.10.2006, 11:12  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard

Hi!

Das mit dem output buffer anschmeipen und dann de Daten im Buffer ersetzen verstehe ich nicht oder weis auch nicht wie man das machen kann.

Vorher abspeichern und dann includen, finde ich etwas umständlich!

Kann man da nichts mit eval() machen? Nur müsste ich dann prüfen, wann der PHP-Code beginnt und aufhört.
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
Alt 18.10.2006, 13:38  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Zitat:
Zitat von NetLook
Das mit dem output buffer anschmeipen und dann de Daten im Buffer ersetzen verstehe ich nicht oder weis auch nicht wie man das machen kann.
Hast du überhaupt nachgelesen oder was genau verstehst du nicht?

http://de.php.net/manual/en/ref.outcontrol.php

Zitat:
Vorher abspeichern und dann includen, finde ich etwas umständlich!

Kann man da nichts mit eval() machen? Nur müsste ich dann prüfen, wann der PHP-Code beginnt und aufhört.
So ein Test wäre viel umständlicher. Hier würde ich dann den ganzen Code durch eval() jagen. Also gleich file_get_contents() verwenden, alles ersetzen und dann eben eval().

Aber sauber ist das so oder so nicht. Was bezweckst du denn damit, ein Template auf zwei unterschiedliche Arten zu parsen?

Basti
Basti ist offline  
Alt 18.10.2006, 14:01  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard

Hi!

Es ist für eine Suchfunktion! Die Datei in der das Keyword gefunden wird, wird Zeile für Zeile eingelesen, das Keyword markiert und ausgeben. Nur in den ganzen Dateien ist eben auch noch überall PHP-Code enthalten

Werd mir das: http://de.php.net/manual/en/ref.outcontrol.php jetzt erstmal anschauen, obwohl es auf den ersten Blick kompliziert aussieht.

Vielen Dank vorerst!
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
Alt 18.10.2006, 14:27  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

...ist nicht Kompliziert. Und auch ein besserer Ansatz, als andersrum. Schließlich willst du ja die Werte der auszugebenden Seite ersetzen und nicht innerhalb eines Templates. Wäre mit dem Regexp oben ja auch nicht fehlerfrei möglich gewesen.

Warum aber class="error"? (Entschuldige meine Neugerde...)

Basti
Basti ist offline  
Alt 18.10.2006, 14:37  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard

Also ich hab es nicht kapiert

Hab jetzt mal probiert alle Zeilen in ein Cookie zu speichern und das zu includen, aber da erscheint immer eine Fehlermeldung, die aber noch mit anderen Code zusammenhängt glaube ich.

class=error ist nur ein CSS, die Formatierung passt eben zum hervorheben!
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
Alt 18.10.2006, 15:17  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von NetLook
Hab jetzt mal probiert alle Zeilen in ein Cookie zu speichern und das zu includen
:shock: Wie kommst du denn auf die verrückte Idee? Starte einfach den Output Buffer (ob_start()). Alles, was du von da an ausgibst, landet nicht im Browser des Benutzers, sonder eben im Output Buffer, einem bestimmten Speicher eben. Wenn du alles "Augegeben" hast, dann holst du dir die "Ausgabe" aus dem Speicher und löschst diesen (ob_get_clean()). Dann führst du auf diesem String deine Änderungen durch, schaltest den Output Buffer wieder aus (ob_end_clean()) und gibts das Ergebnis deiner Ersetzung aus. Diesmal landet es dann direkt beim Benutzer auf dem Schirm, da der OB ja wieder ausgeschaltet ist.

Zitat:
class=error ist nur ein CSS, die Formatierung passt eben zum hervorheben!
Pfusch! *g

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] HTML Code aus JavaScript ausgeben alexxtwentyeight JavaScript, Ajax und mehr 1 17.06.2008 08:18
txt datei in array einlesen NONNNNN PHP Tipps 2006 4 31.05.2006 20:43
HTML Datei einlesen und Teile in Variablen speichern FoXyLiOn PHP Tipps 2006 5 26.03.2006 17:14
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
fgets soll die GANZE datei einlesen DarkThunder PHP Tipps 2005 11 29.04.2005 23:34
wie kann ich einen datei von fremder domain einlesen janni PHP Tipps 2005 8 17.04.2005 20:28
Verzeichnis ab n-ter Datei einlesen PHP Tipps 2005 2 06.04.2005 11:00
HTML - Datei ausgeben PHP Tipps 2005 5 19.02.2005 16:58
Code um Verlinken einer PHP Datei PHP Tipps 2005 4 14.02.2005 12:15
HTML code in variable einlesen JanM PHP Tipps 2005 8 21.01.2005 23:08
Wie für Array aus externer txt Datei einlesen? PHP Tipps 2004 18 23.10.2004 08:27
PHP Code als reinen Text ausgeben PHP Tipps 2004 4 28.09.2004 15:12
[Erledigt] Datei einlesen -&gt; in Variable schreiben PHP Tipps 2004 2 22.07.2004 11:33
Originalpfad einer Datei als Variable ausgeben PHP Tipps 2004 2 20.07.2004 19:58
php code in php ausgeben PHP Tipps 2004 2 03.06.2004 16:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2006/42551-datei-einlesen-ausgeben-php-code-ausfuehren.html, php datei zeile für zeile ausgeben, php datei einlesen und ausführen, php code aus datei auslesen und ausführen, php code einlesen und ausführen, php eingelese datei ausführen, php eval array einlesen, php datei in variable einlesen und ausführen, datei mit php einlesen und ausführen, php-script datei auslesen und am bildschirm ausgeben, php datei ausführen, dann einlesen, php datei wird nicht ausgeführt, php datei einlesen dann ausführen, php file in output buffer einlesen, datei einlesen eval php, php datei einlesen code nicht ausführen, php datei einlesen und php code ausführen, skript einer eingelesenen datei ausführen php, php output buffer wieder ausgeben, php-datei einlesen und ausführen

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.