非常简单的php问题,
例如,demo.php只返回一个类似“hello”的文本。如何从另一个php页面获取此文本?
更新:
实际上我的意思是页面输出就像这样“打印'你好';”
答案 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解释页面时返回文本 - 这意味着您必须:
在第二种情况下,您需要发送HTTP请求并获取结果,这可以使用file_get_contents
完成(如果启用了allow_url_fopen
配置指令):< / p>
$content = file_get_contents('http://www.yoursite.com/demo.php');
另一个解决方案,即在禁用allow_url_fopen
时特别有用,是使用curl;例如,参见curl_exec
函数页面上的示例。