如何从php页面获取返回的文本

时间:2010-02-13 21:10:41

标签: php

非常简单的php问题,

例如,demo.php只返回一个类似“hello”的文本。

如何从另一个php页面获取此文本?

更新:

实际上我的意思是页面输出就像这样“打印'你好';”

5 个答案:

答案 0 :(得分:7)

return "hello",是输出 hello还是只是包含 hello?这三种情况都是不同的问题。


如果return "hello";如此:

<?php
return "hello";

然后你可以通过包含文件并获取返回值来轻松获取其值:

<?php
$fileValue = include('secondFile.php');

如果它输出 hello,那么:

<?php
echo "hello"; // or print "hello";

您必须使用输出缓冲来捕获结果:

<?php
ob_start();
include('secondFile.php');
$fileValue = ob_get_contents();
ob_end_clean();

如果包含 hello,请执行以下操作:

hello

你可以简单地阅读结果:

<?php
$fileValue = file_get_contents('secondFile.txt');

另见:

答案 1 :(得分:2)

编辑:我最初假设在脚本上执行file_get_contents会获取输出(而不是代码)。如果您需要输出,则需要指定完整的URL:

$str = file_get_contents("http://example.com/demo.php");

http://php.net/manual/en/function.file-get-contents.php

如果你接受了一个更详细的答案,可能会更好。

另外,请参阅以下内容:

答案 2 :(得分:2)

“回报你好”是什么意思?

如果真的按照

返回它
return "hello";

你可以像这样得到价值:

$var = include 'demo.php'

如果echo改为该值,则可以读取其输出:

$var = file_get_contents("http://host/demo.php");

答案 3 :(得分:1)

file_get_contents是最简单的解决方案,但卷曲效率更高。它更快,更安全,更灵活。

function file_get_contents_curl($url){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,1);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}

$page = file_get_contents_curl('demo.php');

答案 4 :(得分:0)

当PHP解释页面时返回文本 - 这意味着您必须:

  • 从命令行运行PHP
  • 或者通过您的网络服务器调用该页面 - 这是您通常会做的事情。


在第二种情况下,您需要发送HTTP请求并获取结果,这可以使用file_get_contents 完成(如果启用了allow_url_fopen配置指令):< / p>

$content = file_get_contents('http://www.yoursite.com/demo.php');


另一个解决方案,即在禁用allow_url_fopen时特别有用,是使用curl;例如,参见curl_exec函数页面上的示例。