Senden einer HTTP-POST-Anfrage mit file_get_contents
ist eigentlich gar nicht so schwer: wie Sie schon vermutet haben, müssen Sie die $context
Parameter.
Ein Beispiel ist im PHP-Handbuch auf dieser Seite zu finden: HTTP-Kontext-Optionen (zitiert) :
$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/submit.php', false, $context);
Im Grunde müssen Sie einen Stream mit den richtigen Optionen erstellen (eine vollständige Liste befindet sich auf dieser Seite) und verwenden ihn als dritten Parameter für file_get_contents
-- mehr nicht ;-)
Nebenbei bemerkt: um HTTP-POST-Anfragen zu senden, tendieren wir dazu, curl zu verwenden, das eine Menge Optionen bietet -- aber Streams sind eines der netten Dinge von PHP, die niemand kennt... schade...
1 Stimmen
php.net/manual/de/function.stream-kontext-erzeugen.php#89080