>> 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...

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to