Re: eval() question

From: Date: Wed, 21 Apr 2004 14:33:02 +0000
Subject: Re: eval() question
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-184134@lists.php.net to get a copy of this message
Thanks Michael & Marek! It worked! :) "Michael Sims" <michaels@crye-leike.com> wrote in message news:MIEKLEPPLHOCJNAGNGPHEEBCCHAA.michaels@crye-leike.com... > >> OrangeHairedBoy wrote: > >>> I would like to use eval() to evaluate another PHP file and store > >>> the output of that file in a string. > >> > >> You could use output buffering to do this a bit more easily, I think: > >> > >> ob_start(); > >> include('colors.php'); > >> $colors = ob_get_contents(); > >> ob_end_clean(); > > > > While that is an awesome idea, I don't think it will work for me. > > > > There's two reasons why. First, colors.php is actually stored in a > > MySQL server. > > > > Second, before the PHP code inside colors.php I want to be able to > > replace data inside that file. For example: > > > > $file = str_replace( "Green" , "Orange" , $file ); > > Ok, then a slight adjustment should work: > > $file = file_get_contents( "colors.php" ); > $file = str_replace( "Green" , "Orange" , $file ); > ob_start(); > eval( $file ); > $colors = ob_get_contents(); > ob_end_clean(); > > I've never done that personally, but the documentation for eval() states: > > In PHP 4, eval() returns NULL unless return is called in the evaluated code, > in which case the value passed to return is returned. > > And then: > > Tip: As with anything that outputs its result directly to the browser, you > can use the output-control functions to capture the output of this function, > and save it in a string (for example). > > HTH...

« previous php.general (#184134) next »