2

我希望使用 PHP 调用本地 PHP 页面,并且服务器端代码已经执行。

例如,如果我有一个包含以下内容的页面:

Hello, this is <?php $name="John"; echo $name ?>

我希望有一个 get 命令,例如 file_get_contents(local_php_page) 或 fopen(handle) 返回:

Hello, this is John

而不是

Hello, this is <?php $name="John"; echo $name ?>

最好的方法是什么?

4

4 回答 4

1

输出缓冲应该能够为您做到这一点:

ob_start();
include 'myfile.php';
$xhtml = ob_get_clean();

您还可以获得包含的输出,例如:

$xhtml = include 'myfile.php';

有关这方面的更多信息,请查看PHP 手册

于 2012-05-13T10:54:44.683 回答
0

正如您已经提到的,您可以使用file_get_contents向任何 http url 发送 get 请求。您必须确保启用了allow_url_fopen。当然,您的网络服务器必须配置为正确处理 php 请求

<?php
$requestUrl = 'http://localhost/your_file.php';
$content = file_get_contents($requestUrl);
var_dump($content);
于 2012-05-13T11:03:43.233 回答
0

如果您的服务器中有 allow_url_fopen,您可以使用带有 url 的 fopen。

于 2012-05-13T11:04:48.330 回答
0

需要调用http url而不是path

$url="http://".$_SERVER['HTTP_HOST']."/yourpath/";
$str=file_get_contents($url."/yourfile.php");
echo $str;
于 2012-05-13T11:20:24.670 回答