Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Permintaan GET Asynchronous dalam PHP?
Permintaan GET Asynchronous dalam PHP: Panduan Terperinci
Pengenalan
Melaksanakan permintaan GET tak segerak dalam PHP membenarkan skrip anda untuk memulakan permintaan ke pelayan jauh tanpa menyekat arus aliran pelaksanaan. Ini sangat berfaedah untuk aplikasi web yang perlu menghantar banyak permintaan tanpa menghentikan interaksi pengguna.
Menggunakan file_get_contents() untuk Permintaan Asynchronous
file_get_contents() adalah terbina- dalam fungsi PHP yang boleh digunakan untuk kedua-dua permintaan GET segerak dan tak segerak. Secara lalai, ia berkelakuan serentak, menyekat skrip sehingga permintaan selesai. Walau bagaimanapun, menyediakan hujah konteks pilihan membenarkan operasi tak segerak.
Permintaan Segerak:
$output = file_get_contents('http://www.example.com/'); echo $output;
Permintaan Tak Segerak:
$context = stream_context_create([ 'http' => [ 'ignore_errors' => true ] ]); $output = file_get_contents('http://www.example.com/', false, $context);
Menggunakan fsockopen() untuk Permintaan Truly Asynchronous
Untuk situasi di mana kelakuan tak segerak bagi file_get_contents() adalah tidak diingini, fsockopen() menawarkan pendekatan peringkat rendah untuk mencapai ketidaksegerakan sebenar. Fungsi ini membenarkan komunikasi soket terus.
Permintaan Asynchronous Menggunakan fsockopen():
function curl_post_async($url) { // 1. Parse URL $parts = parse_url($url); // 2. Open Socket $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 30); // 3. Construct Request $out = "GET " . $parts['path'] . " HTTP/1.1\r\n"; $out .= "Host: " . $parts['host'] . "\r\n"; $out .= "Connection: Close\r\n\r\n"; // 4. Send Request and Close Socket fwrite($fp, $out); fclose($fp); }
Fungsi ini menyalakan permintaan GET serta-merta , tanpa menunggu jawapan, dan mengembalikan kawalan kepada pemanggil. Adalah penting untuk ambil perhatian bahawa menggunakan fsockopen() memerlukan pendekatan yang lebih praktikal berbanding dengan file_get_contents().
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Permintaan GET Asynchronous dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!