接收PHP代码的POST请求
问题描述:
我需要发送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代码同样的事情?
答
你应该使用完整的URL,通过服务器来处理PHP文件。
$url = 'http://YOURURL.com/global.php';
AJAX调用是从浏览器到绝对URL,这就是为什么你正在得到所需的响应。
就我而言,我使用本地主机......而这两个文件:index.php文件(即有POST代码)和global.php(有文)在同一个文件夹...在结束两个他们会去我的服务器在线...在这种情况下,我会收到的PHP代码或结果? – Lacrifilm
如果您提供了file_get_content的完整URL,那么您将获得结果。如果你只提供文件名,那么你会得到PHP代码。 –