Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ubah hala dalam PHP

Ubah hala dalam PHP

WBOY
WBOYasal
2023-05-24 08:25:533896semak imbas

Ubah hala ialah teknik yang sering digunakan dalam pembangunan web, yang membolehkan kami mengubah hala pengguna daripada alamat URL semasa ke alamat URL lain. Dalam PHP, ubah hala dilaksanakan melalui fungsi header().

Fungsi header() boleh mengeluarkan maklumat pengepala HTTP, termasuk maklumat ubah hala. Kami boleh mengubah hala pengguna ke alamat URL lain dengan menggunakan fungsi header(), seperti yang ditunjukkan di bawah:

header("Lokasi: http://www.example.com");

Apabila kami melaksanakan kod di atas, pelayan akan menghantar respons HTTP kepada klien, yang mengandungi maklumat ubah hala. Pelayar klien akan mengubah hala secara automatik ke URL yang ditentukan berdasarkan respons.

Apabila menggunakan fungsi header(), anda perlu memberi perhatian kepada perkara berikut:

  1. Fungsi header() mesti dipanggil sebelum semua output lain, jika tidak, ralat akan dijana.
  2. Sebelum memanggil fungsi header(), tidak boleh ada sebarang output, termasuk ruang dan baris baharu, dsb.
  3. Jika anda perlu meneruskan pengeluaran kandungan selepas fungsi header(), anda mesti memanggil fungsi ob_start() dahulu. Fungsi ini akan membuka penimbal output, dan semua output akan disimpan sementara dalam penimbal sehingga penimbal disiram atau ditutup secara eksplisit.

Mari kita lihat contoh khusus:

ob_start();
header("Lokasi: http://www.example .com ");
ob_end_flush();
?>

Dalam contoh di atas, kita mula-mula memanggil fungsi ob_start() untuk membuka penimbal output. Kemudian, kami memanggil fungsi header() untuk mengubah hala pengguna ke alamat http://www.example.com. Akhir sekali, kami memanggil fungsi ob_end_flush() untuk mengeluarkan kandungan penimbal kepada klien.

Selain menggunakan fungsi header() secara langsung, PHP juga menyediakan fungsi header_redirect() yang lebih mudah. Fungsi ini berfungsi seperti fungsi header(), tetapi lebih mudah digunakan. Penggunaan fungsi header_redirect() adalah seperti berikut:

header_redirect("http://www.example.com", true, 301);

Fungsi ini menerima tiga parameter: URL diubah hala alamat, sama ada kod status respons HTTP perlu ditetapkan dan nilai kod status respons HTTP. Kami boleh menentukan kod status respons HTTP untuk digunakan dalam parameter, seperti 301 untuk ubah hala kekal, 302 untuk ubah hala sementara, dsb.

Apabila menggunakan fungsi header_redirect(), anda perlu memberi perhatian kepada perkara berikut:

  1. Fungsi header_redirect() juga perlu dipanggil sebelum semua output lain.
  2. Jika anda perlu mengubah hala ke alamat URL setempat, anda mesti menggunakan laluan mutlak, seperti /header.php dan bukannya ./header.php.
  3. Kod status respons HTTP lalai kepada 302. Jika anda tidak perlu menentukan kod status respons, anda boleh menetapkan parameter kedua kepada palsu.

Ringkasnya, pengalihan adalah teknologi yang sangat diperlukan dalam pembangunan web. Dalam PHP, kita boleh menggunakan fungsi header() atau fungsi header_redirect() untuk melaksanakan fungsi ubah hala. Tidak kira kaedah yang digunakan, peraturan dan langkah berjaga-jaga tertentu perlu dipatuhi untuk memastikan keberkesanan dan ketepatan pengalihan.

Atas ialah kandungan terperinci Ubah hala dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn