我正在使用PHP 4.3.9并尝试在没有使用stream_context_create的表单的情况下发布到一个url,如下所示:
function do_post_request($url, $postdata) {
$content = "";
foreach($postdata as $key => $value)
$content .= "$key=$value&";
$content = urlencode($content);
$params = array('http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $content
));
$ctx = stream_context_create($params);
$result = file_get_contents($url, false, $ctx);
var_dump($result);
这段代码几乎是从php手册中逐字逐句地获取的,我也在stackoverflow上的几个地方看过它。
如果我在没有$ ctx的情况下执行file_get_contents,var_dump($ results)将正确显示$ url(当然,没有必要的更改$ _POST会导致)。使用$ ctx,var_dump($ result)为NULL。所以$ ctx有问题,但我不知道是什么。我是否错误地设置了我的$ params?
任何见解都将受到赞赏。如果有另一种方法将POST数据传递给url我也不介意听到这个。但我不能使用cURL(或任何需要安装的东西)而且我使用的是旧版本的php,因此我的选择有限。
由于