我正在使用file_get_contents(http://example.com/mypage.php)
有没有办法从调用该页面的网站获取来自调用者的信息(即:$ _SERVER变量或主机名)?
大卫
答案 0 :(得分:0)
您可以使用stream_context_create()来设置传递到file_get_contents()的选项,以创建将与请求一起发送的自定义用户代理和主机标头。
没试过,但是这样的事情应该有效。
<?php
$opts = array(
'http'=>array(
'header'=>"Host: www.mycallingserver.com",
'user_agent'=>"My Custom User Agent"
)
);
$context = stream_context_create($opts);
$file = file_get_contents('http://www.example.com/', false, $context);
?>
答案 1 :(得分:0)
file_get_contents与获取$ _SERVER变量信息有什么关系? file_get_contents读取文件/ uri并返回文本流。与获取$ _SERVER变量信息无关。
如果您正在编写PHP脚本,那么您就是调用者。您可以在运行脚本的服务器上获取$ _SERVER变量信息,但不能从其他网站获取。那将是一个安全问题。