Gửi một yêu cầu POST HTTP bằng cách sử dụng file_get_contents
thực sự không khó lắm: như bạn đoán, bạn phải sử dụng $context
tham số.
Có một ví dụ được đưa ra trong hướng dẫn PHP, tại trang này: Tùy chọn ngữ cảnh HTTP (trích dẫn) :
$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);
Về cơ bản, bạn phải tạo một luồng, với các tùy chọn phù hợp (có một danh sách đầy đủ trên trang đó) và sử dụng nó làm tham số thứ ba để file_get_contents
- không có gì nữa ;-)
Như một sidenote: nói chung, để gửi các yêu cầu HTTP POST, chúng tôi có xu hướng sử dụng curl, cung cấp rất nhiều tùy chọn - nhưng luồng là một trong những điều hay của PHP mà không ai biết về ... quá tệ .. .