简体   繁体   中英

Include whole content of a file and echo it

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?

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.

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.

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

?>

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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM