I would like to access some functions defined in another PHP file, but that file also outputs content that I don\'t want to display.
Is there any way to access the f
<?php
ob_start();
require 'filename.php';
ob_end_clean();
?>
You could sneakily buffer the include's output using ob_start() and drop it using ob_end_clean(). This works only if the script doesn't flush the output buffer itself.
The better way would be to extract the needed functions from the include, and put them into a separate file.
Well, you could capture the output of the file using, say, an Output Buffer then discarding it. However, any other global side effects (global variables set, files written, etc) would still occur. It would be much better to refactor that file to move the functions into their own include, which can be include
ed by both.
The answers involving output buffering are correct, but you're solving the wrong problem at a rather fundamental level.
Grab those functions that are useful and move them to a different file. Then include that file from both the one you're working on now, and the one where they currently reside. Everything works, no weird hacks with output buffering.
Eh you might be able to do something with using the output buffer and manually clearing contents, but why not just move the common functions into a common include? I usually shove common helper methods into their own file (which won't output anything).