Closed Thread Icon

Topic awaiting preservation: Capturing an include() in PHP Pages that link to <a href="https://ozoneasylum.com/backlink?for=11985" title="Pages that link to Topic awaiting preservation: Capturing an include() in PHP" rel="nofollow" >Topic awaiting preservation: Capturing an include() in PHP\

 
Author Thread
butcher
Paranoid (IV) Inmate

From: New Jersey, USA
Insane since: Oct 2000

posted posted 01-08-2002 17:51

Say I want to build a $page_display like so:

$page_display = include("includes/headers/header_admin.inc");
$page_display .= "</HEAD>\n\n<BODY bgcolor=#cc6600 background=images/adminbg.gif>\n\n";
$page_display .= "<table cellpadding=10 cellspacing=0 border=0 width=100% height=100%>\n<tr>\n";

ect...

and echo it to the browser later, how do I do this? The included file displays to the browser as sonn as it is called in the code. How do I stop it from outputting before I'm ready?

Thanks




-Butcher-

Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers

From: Germany
Insane since: Sep 2001

posted posted 01-08-2002 18:31

well, either by calling the include when you need it, or by using php's outputbuffering functionallity. for a start, take the manual and look into ob_start().

Oh, and you're aware that PHP drops out of PHP mode when it opens an include? IE if you have phpscript in the include, the include must look like <?php your code here ?>...

hope this helps,

Tyberius Prime

mr.maX
Maniac (V) Mad Scientist

From: Belgrade, Serbia
Insane since: Sep 2000

posted posted 01-08-2002 19:11

Butcher, I would suggest you to read include() page from PHP manual thoroughly to familiarize yourself how includes work and how you can return some value from included file...


butcher
Paranoid (IV) Inmate

From: New Jersey, USA
Insane since: Oct 2000

posted posted 01-08-2002 23:12

Thanks TP, I was reading the manual and I could probably use that, I'll have to do some more reading to put it to use.

mr.maX

I actually did read that page of the manual before I posted the question, but the whole return paragraph didn't really sink in. I wasn't thinking of returning a value from an include like you would from a function.

Thanks for sending me back there. I knew if you sent me back to a particular spot, I must have missed something. I got it goin on now!



-Butcher-

lallous
Paranoid (IV) Inmate

From: Lebanon
Insane since: May 2001

posted posted 01-09-2002 06:12

Butcher, if your include file has just plain text and no PHP code at all, then use something like:
$page_display = join('', file('includes/file_to_include.inc'));


btw, I prefer that you don't use .INC extention for files that have PHP code in them...cause Web Server will not pass them to PHP unless you have done some extra configuration, so anyone can download the source code of your .inc files ...therefore name your files as: includes/file_to_include.inc.php , or file_to_include_inc.php



Pugzly
Paranoid (IV) Inmate

From: 127.0.0.1
Insane since: Apr 2000

posted posted 01-09-2002 06:45

Just watch how far you nest includes. An include within an include isn't a good idea.

Dracusis
Maniac (V) Inmate

From: Brisbane, Australia
Insane since: Apr 2001

posted posted 01-09-2002 09:17

Yeah, the .inc thing is bad. However I still can't seem to kick the habbit so I had my sys admin add the .inc extention so apache would phrase it as a php script.

Another thing I always make a habbit of is to put all of my sensitive files outside the server's root directory. I recommend this as it's very simple to do but you'd be supprised how many people just don't do it.

Oh, another thing, if your going to be using include() every time the script runs you might be better off using require() as it's a tiny bit faster than include(). But only if the require() file will be used each and every time the script is processed.

« BackwardsOnwards »

Show Forum Drop Down Menu