Question

I need to echo entire content of included file. I have tried the below:

echo "<?php include ('http://www.example.com/script.php'); ?>";

echo "include (\"http://www.example.com/script.php\");";

But neither works? Does PHP support this?

Was it helpful?

Solution

Just do:

include("http://www.mysite.com/script.php");

Or:

echo file_get_contents("http://www.mysite.com/script.php");

Notes:

  • This may slow down your page due to network latency or if the other server is slow.
  • This requires allow_url_fopen to be on for your PHP installation. Some hosts turn it off.
  • This will not give you the PHP code, it'll give you the HTML/text output.

OTHER TIPS

Shortest way is:

readfile('http://www.mysite.com/script.php');

That will directly output the file.

Echo prints something to the output buffer - it's not parsed by PHP. If you want to include something, just do it

include ('http://www.mysite.com/script.php');

You don't need to print out PHP source code, when you're writing PHP source code.

Not really sure what you're asking, but you can't really include something via http and expect to see code, since the server will parse the file.

If "script.php" is a local file, you could try something like:

$file = file_get_contents('script.php');
echo $file;

This may not be the exact answer to your question, but why don't you just close the echo statement, insert your include statement, and then add a new echo statement?

<?php
  echo 'The brown cow';
  include './script.php';
  echo 'jumped over the fence.';
?>

Matt is correct with readfile() but it also may be helpful for someone to look into the PHP file handling functions manual entry for fpassthru

<?php

$f = fopen($filepath, 'r');

fpassthru($f);

fclose($f);

?>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top