我设置了一个函数来获取另一个页面的输出。但我只是收回文件内容。我弄清楚为什么?这是我的代码:
$from = date('d.m.Y');
$to = date('d.m.Y', strtotime('+30 day', time()));
$postdata = http_build_query(
array(
'set' => $from,
'to' => $to
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$list = file_get_contents($_SERVER['DOCUMENT_ROOT'] . 'Events.php', false, $context);
答案 0 :(得分:1)
file_get_contents()
将文件作为文本文件读取。你必须通过它的uri调用它才能让它执行。
它不是一个函数,而是两个,交替它给文件系统做的事情(几乎fopen文件,读取整个文件,返回内容),以及它给出一个url做什么(做一个GET调用网址,获取其内容,返回其全部内容)
所以只需将$_SERVER['DOCUMENT_ROOT']
替换为$_SERVER['HTTP_HOST']
即可,
答案 1 :(得分:1)
如果你想包含另一个本地php文件,你必须包含()或require()它。
library
如果文件不存在或不可读,include()会发出警告,但require()会抛出致命错误。通过这种方式,您可以使用return-keyword获取命名文件返回的内容。
要获得php输出,您可以使用ob_start():
$list = include($_SERVER['DOCUMENT_ROOT'] . 'Events.php');
另一种方法是使用单独的http-Get,但这意味着更多的开销。