использование ресурса context-stream с file_get_contents возвращает пустую строку

Я использую PHP 4.3.9 и пытаюсь POST к URL без формы, используя stream_context_create, как показано ниже:

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.

Если я сделаю file_get_contents без $ ctx, var_dump ($ results) будет правильно отображать $ url (но без необходимых изменений, конечно, вызовет $ _POST). С $ ctx var_dump ($ result) имеет значение NULL. Так что с $ ctx что-то не так, но я понятия не имею, что. Я неправильно настраиваю свои $ params или что-то в этом роде?

Любое понимание будет оценено. Если есть другой способ передать POST-данные в URL, я бы тоже не стал это слышать. Но я не могу использовать cURL (или что-либо, что требует установки), и я использую более старую версию php, поэтому мой выбор ограничен.

Спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]