我使用的file_get_contents(http://example.com/mypage.php)PHP的file_get_contents:获取主叫信息
有没有一种方式来获得主叫方信息(即:$ _ SERVER变量或主机名)从网站谁调用页面?
大卫
我使用的file_get_contents(http://example.com/mypage.php)PHP的file_get_contents:获取主叫信息
有没有一种方式来获得主叫方信息(即:$ _ SERVER变量或主机名)从网站谁调用页面?
大卫
您可以使用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);
?>
大卫,你的问题对我没有任何意义。
file_get_contents与获取$ _SERVER变量信息有什么关系? file_get_contents读取一个文件/ uri并返回一个文本流。与获取$ _SERVER变量信息无关。
如果你正在编写一个PHP脚本,你是来电者。您可以在运行脚本的服务器上获取$ _SERVER变量信息,但不能从其他网站获取。这将是一个安全问题。
你说得有点正确。从服务器-A上的PHP脚本中,我调用了file_get_contents('http://server-B.com/mypage.php')。我只是想知道,如果我不能发送这些信息,可以从服务器B获取服务器信息,例如主机名。 – David
file_get_contents(server-B.com/mypage.php)没有得到mypage.php的执行结果。它只是将PHP文件本身作为文本返回。 –