2016-10-22 102 views
-1

我需要發送POST請求稱爲global.php另一個文件,爲了這個,我嘗試下面這段代碼:接收PHP代碼的POST請求

$url = 'global.php'; 
$data = array('stack' => 'overflow'); 

$options = array(
    'http' => array(
     'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 

$context = stream_context_create($options); 
$result = file_get_contents($url, false, $context); 

var_dump($result); 

這是global.php文件應該處理該請求:

if(isset($_POST['stack'])){ 
echo 'exists'; 
}else{ 
echo 'error'; 
} 

的問題是,而不是命令var_dump ($ result);顯示存在,它顯示了PHP代碼?我怎麼解決這個問題?

爲什麼當我嘗試做使用ajax它返回我的文字存在,而不是PHP代碼同樣的事情?

回答

2

你應該使用完整的URL,通過服務器來處理PHP文件。

$url = 'http://YOURURL.com/global.php'; 

AJAX調用是從瀏覽器到絕對URL,這就是爲什麼你正在得到所需的響應。

+0

就我而言,我使用本地主機......而這兩個文件:index.php文件(即有POST代碼)和global.php(有文)在同一個文件夾...在結束兩個他們會去我的服務器在線...在這種情況下,我會收到的PHP代碼或結果? – Lacrifilm

+1

如果您提供了file_get_content的完整URL,那麼您將獲得結果。如果你只提供文件名,那麼你會得到PHP代碼。 –