Include whole content of a file and echo it

2019-01-18 12:19发布

问题:

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?

回答1:

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.


回答2:

Shortest way is:

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

That will directly output the file.



回答3:

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.



回答4:

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;


回答5:

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.';
?>


回答6:

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);

?>


标签: php echo