2009/7/6 John Allsopp <john@xxxxxxxxxxxxxxxxx>: > David Robley wrote: >> >> John Allsopp wrote: >> >> >>> >>> Hi >>> >>> At the top of a webpage I have: >>> >>> <?php >>> include_once("furniture.php"); >>> $myFurniture = new furniture(); >>> echo $myFurniture->getTop("my company title"); >>> ?> >>> >>> to deliver the first lines of HTML, everything in HEAD and the first >>> bits of page furniture (menu, etc). >>> >>> In the furniture object in getTop(), I want to return a string that >>> includes the CSS file that I call with an include_once. But the >>> include_once isn't interpreted by PHP, it's just outputted. So from: >>> >>> $toReturn = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 >>> Transitional//EN' ........ >>> <?php >>> include_once('styles3.txt'); >>> ?> >>> ......."; >>> >>> return $toReturn; >>> >>> I get >>> >>> <?php >>> include_once('styles3.txt'); >>> ?> >>> >>> in my code. >>> >>> Do I really have to break up my echo $myFurniture->getTop("my company >>> title"); call to getTopTop, then include my CSS, then call getTopBottom, >>> or can I get PHP to interpret that text that came back? >>> >>> PS. I may be stupid, this may be obvious .. I don't program PHP every day >>> >>> Thanks in advance for your help :-) >>> >>> Cheers >>> J >>> >> >> First guess is that your page doing the including doesn't have a filename >> with a .php extension, and your server is set to only parse php in files >> with a .php extension. >> >> >> >> Cheers >> > > Ah, thanks. It's a PHP object returning a string, I guess the PHP > interpreter won't see that. > > So, maybe my object has to write a file that my calling file then includes > after the object function call. Doesn't sound too elegant, but is that how > it's gotta be? You appear to be looking for the eval function: http://php.net/eval However, in 99.99% of cases using eval is not the right solution. In your case there are two ways to solve it. The first way, assuming the thing you're trying to include is a stylesheet, is to use an external link to a CSS file. That would be the "normal" way to include a stylesheet in an HTML page and is far more efficient that including it inline. If it's not just a stylesheet that you're including then you'll want to load the file in the getTop method. For example... $toReturn = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ........"; $toReturn.= file_get_contents('styles3.txt'); $toReturn.= '..........'; Simple as that. -Stuart -- http://stut.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php