16

我需要回显包含文件的全部内容。我尝试了以下方法:

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

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

但两者都不起作用?PHP 支持这个吗?

4

6 回答 6

23

做就是了:

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

或者:

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

笔记:

  • 由于网络延迟或其他服务器速度较慢,这可能会降低您的页面速度。
  • 这需要allow_url_fopen为您的 PHP 安装打开。一些主机将其关闭。
  • 这不会给你 PHP 代码,它会给你 HTML/文本输出。
于 2009-05-28T15:29:46.543 回答
4

最短的方法是:

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

这将直接输出文件。

于 2009-05-28T16:13:33.660 回答
2

Echo 将某些内容打印到输出缓冲区 - PHP 不会对其进行解析。如果您想包含某些内容,请执行此操作

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

当您编写 PHP 源代码时,您不需要打印出 PHP 源代码。

于 2009-05-28T15:29:17.637 回答
1

这可能不是您问题的确切答案,但是您为什么不关闭 echo 语句,插入您的 include 语句,然后添加一个新的 echo 语句呢?

<?php
  echo 'The brown cow';
  include './script.php';
  echo 'jumped over the fence.';
?>
于 2014-04-09T17:38:30.530 回答
1

不太确定你在问什么,但你不能真正通过 http 包含一些东西并期望看到代码,因为服务器会解析文件。

如果“script.php”是一个本地文件,你可以尝试类似:

$file = file_get_contents('script.php');
echo $file;
于 2009-05-28T15:30:45.760 回答
0

Matt 是正确的,readfile()但它也可能有助于某人查看 fpassthru 的 PHP 文件处理函数手册条目

<?php

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

fpassthru($f);

fclose($f);

?>
于 2016-05-22T14:30:01.710 回答