PHP_SELF lwn PATH_INFO lwn SCRIPT_NAME lwn REQUEST_URI: Memahami Perbezaan
Apabila membangunkan aplikasi PHP, amat penting untuk memahami perbezaan antara PHP_INFOLF, PATH , SCRIPT_NAME dan REQUEST_URI. Pembolehubah pelayan ini memberikan maklumat tentang alamat skrip semasa dan boleh berguna untuk navigasi dan penulisan semula URL.
PHP_SELF biasanya mengandungi URI penuh skrip semasa, termasuk nama skrip dan mana-mana laluan maklumat. Walau bagaimanapun, ia boleh berbeza daripada SCRIPT_NAME dalam kes di mana permintaan adalah dalam bentuk http://example.com/test.php/foo/bar.
PATH_INFO mengandungi laluan maklumat pada akhir URI permintaan. Walau bagaimanapun, ia hanya diisi apabila URI permintaan berada dalam bentuk yang dinyatakan di atas.
SCRIPT_NAME mewakili nama skrip semasa, tidak termasuk sebarang maklumat laluan. Ia biasanya sama seperti PHP_SELF melainkan terdapat / dalam URI.
REQUEST_URI mengandungi URI permintaan lengkap, termasuk laluan, rentetan pertanyaan dan sauh. Ia berbeza daripada PHP_SELF dan SCRIPT_NAME apabila rentetan pertanyaan hadir atau apabila ubah hala sisi pelayan digunakan.
Untuk menggambarkan perbezaan, berikut ialah beberapa contoh praktikal:
Contoh 1:
http://example.com/test.php/foo/bar
Contoh 2:
http://example.com/test.php?foo=bar
Contoh 3:
http://example.com/test. php (dengan mod_rewrite redirect)
Contoh 4:
Halaman ralat tersuai dalam IIS:
http://example.com/test.php
Dengan memahami perbezaan ini, anda boleh menggunakan pembolehubah pelayan yang sesuai dengan berkesan untuk mengendalikan navigasi, penulisan semula URL dan pengendalian ralat dalam PHP anda aplikasi.
Atas ialah kandungan terperinci PHP_SELF, PATH_INFO, SCRIPT_NAME dan REQUEST_URI: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!