Home » Php » PHP include w/o echo

PHP include w/o echo

Posted by: admin July 12, 2020 Leave a comment

Questions:

I’m coding a web site and I have a php fonction called site_nav.php which first define a $list array and than echos it in a json form.

This way, I can get my web site map with ajax.

My problem is that now, I would like to get the $list object in php, without echoing the json object.

My question: Is there a way to include my php file without activation of the echo call which is in it?

Thanks a lot!

How to&Answers:

Yes, just use output buffering. See the documentation on ob_start and ob_end_clean.

ob_start();
include("file.php");
ob_end_clean();

Answer:

You could use an output buffer to catch the output in a string.

ob_start();

include_once('file.php');

var $output = ob_get_contents();

ob_end_clean();

Answer:

You can use output buffering to achieve this.

ob_start();
include("myfile.php");
ob_end_clean();

Answer:

It’s not possible without a hack. You could use output buffering:

<?php
ob_start();
echo "foo";
ob_end_clean();

Instead of the echo, you put your include statement there.

Answer:

You may want to look into output buffering:

http://us3.php.net/manual/en/book.outcontrol.php

Though I suspect the design of your application can be improved so you don’t need this.