使用带有file_get_contents的上下文流资源会返回NULL字符串

时间:2014-10-21 20:46:55

标签: php php4

我正在使用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,因此我的选择有限。

由于

0 个答案:

没有答案