Pengendalian Data HTTP POST dalam PHP
Apabila menghantar data borang ke pelayan web, pendekatan biasa melibatkan penggunaan borang HTML yang menyerahkan data melalui HTTP POST. Walau bagaimanapun, dalam senario tertentu, anda mungkin perlu menghantar data POST terus daripada kod PHP tanpa bergantung pada borang.
Penyerahan Data POST Terus
Untuk menghantar data POST tanpa borang dalam PHP, kaedah yang dikenali sebagai cURL (Perpustakaan URL Pelanggan) boleh digunakan. Begini cara anda boleh melakukannya:
$url = 'http://www.example.com'; $postData = [ 'myVar1' => 'value1', 'myVar2' => 'value2' ]; $postFields = http_build_query($postData); $curl = curl_init($url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl);
Dalam contoh ini, kami mentakrifkan URL, $url dan mengisi tatasusunan PHP, $postData, dengan pasangan nilai kunci yang ingin kami hantar. Menggunakan http_build_query(), kami menukar tatasusunan kepada rentetan pertanyaan berformat HTTP, yang kemudiannya diberikan kepada $postFields.
Kami memulakan pemegang lencong dan menetapkan pilihan CURLOPT_POSTnya kepada benar untuk menunjukkan bahawa kami menghantar data POST. Pilihan CURLOPT_POSTFIELDS menentukan data yang akan dihantar. Kami juga menetapkan pelbagai pilihan lain, seperti CURLOPT_FOLLOWLOCATION (yang mengikuti ubah hala), CURLOPT_HEADER (yang menyekat pengepala HTTP daripada respons) dan CURLOPT_RETURNTRANSFER (yang menjadikan curl_exec() mengembalikan respons).
Akhirnya, kami melaksanakan permintaan curl dengan curl_exec() dan simpan respons dalam pembolehubah $response. Respons ini kemudiannya boleh dihuraikan atau diproses mengikut keperluan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data HTTP POST Terus dari Kod PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!