2014-02-18 35 views

回答

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); 
?> 
0

大衛,你的問題對我沒有任何意義。

file_get_contents與獲取$ _SERVER變量信息有什麼關係? file_get_contents讀取一個文件/ uri並返回一個文本流。與獲取$ _SERVER變量信息無關。

如果你正在編寫一個PHP腳本,你是來電者。您可以在運行腳本的服務器上獲取$ _SERVER變量信息,但不能從其他網站獲取。這將是一個安全問題。

+0

你說得有點正確。從服務器-A上的PHP腳本中,我調用了file_get_contents('http://server-B.com/mypage.php')。我只是想知道,如果我不能發送這些信息,可以從服務器B獲取服務器信息,例如主機名。 – David

+0

file_get_contents(server-B.com/mypage.php)沒有得到mypage.php的執行結果。它只是將PHP文件本身作爲文本返回。 –