我使用的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文件本身作爲文本返回。 –