php

Dapatkan URL Penuh dalam PHP

Dapatkan URL Penuh dalam PHP
Dua jenis pemboleh ubah global boleh digunakan dalam PHP: pemboleh ubah superglobal dan pemboleh ubah yang ditentukan pengguna. $ _SERVER adalah pemboleh ubah array superglobal yang digunakan untuk mengambil jalan penuh halaman semasa. Protokol (HTTP atau HTTPS) URL juga diperlukan untuk mendapatkan URL penuh halaman. Sekiranya $ _SERVER ['HTTPS'] kembali 'di', maka HTTPS akan digunakan dengan alamat URL, jika tidak, HTTP akan digunakan. Bagaimana alamat URL penuh halaman semasa dapat diambil menggunakan $ _SERVER array telah dijelaskan dalam tutorial ini.

Pemboleh ubah yang diperlukan

Pemboleh ubah superglobal berikut diperlukan untuk mengetahui alamat URL halaman semasa.

Pemboleh ubah Superglobal Tujuan
$ _SERVER ['HTTPS'] Ia kembali pada jika protokol HTTPS digunakan dalam URL halaman semasa.
$ _SERVER ['HTTP_HOST'] Ia mengembalikan nama pelayan halaman semasa.
$ _SERVER ['REQUEST_URI'] Ia mengembalikan nama sumber yang diminta.
$ _SERVER ['SERVER_PORT']] Ia mengembalikan nombor port pelayan.
$ _SERVER ['QUERY_STRING'] Ia mengembalikan nilai rentetan pertanyaan jika ada di alamat URL halaman semasa.

Contoh 1: Paparkan URL halaman semasa menggunakan pernyataan bersyarat

Contoh berikut menunjukkan bagaimana pernyataan bersyarat dapat digunakan untuk mendapatkan protokol yang digunakan dalam URL halaman semasa. Buat fail PHP dengan skrip berikut.

Nilai $ _SERVER ['HTTP_HOST'] digunakan untuk mendapatkan nama domain URL semasa. Nilai $ _SERVER ['REQUEST_URI'] digunakan untuk mendapatkan nama sumber yang diminta. terbitan () fungsi digunakan untuk memeriksa apakah $ _SERVER ['HTTPS'] adalah satu set atau tidak, dan jika ditetapkan, kemudian periksa nilai $ _SERVER ['HTTPS'] pada atau tidak. Seterusnya, nilai ketiga-tiga pemboleh ubah digabungkan dengan '//:' untuk mendapatkan URL penuh halaman semasa.

// Baca nama domain halaman semasa
$ domain = $ _SERVER ['HTTP_HOST'];
// Baca sumber yang diminta
$ sumber = $ _SERVER ['REQUEST_URI'];
// Cari tahu protokol url semasa
jika (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protokol = "https";
yang lain
$ protokol = "http";
// Gabungkan semua bahagian untuk mendapatkan alamat URL lengkap
$ url = $ protokol.": //".$ domain.sumber $;
// Cetak alamat URL halaman semasa
gema "

Alamat URL semasa
halaman adalah:

". $ url;?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip dari pelayan. Nilai $ _SERVER ['HTTPS'] tidak pada untuk pelayan tempatan. Jadi output menunjukkan http protokol untuk URL semasa.

Contoh 2: Paparkan URL halaman semasa menggunakan operator ternary

Contoh berikut menunjukkan cara untuk mendapatkan URL penuh halaman semasa menggunakan operator ternary. Buat fail PHP dengan skrip berikut.

Sekiranya syarat tersebut digunakan dalam contoh sebelumnya untuk mengetahui protokol mana yang digunakan dalam URL halaman semasa. Tugas yang sama dilakukan dengan menggunakan operator ternary dalam skrip ini. terbitan () fungsi digunakan untuk memeriksa apakah $ _SERVER ['HTTPS'] adalah satu set atau tidak, dan jika nilai $ _SERVER ['HTTPS'] adalah pada, maka pengendali ternary akan mengembalikan HTTPS, jika tidak, ia akan mengembalikan HTTP. Bahagian lain dari URL diambil dan dicetak seperti contoh sebelumnya.

// Cari tahu protokol url semasa
$ protokol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'di' ? "https": "http");
// Baca nama domain halaman semasa
$ domain = $ _SERVER ['HTTP_HOST'];
// Baca sumber yang diminta
$ sumber = $ _SERVER ['REQUEST_URI'];
// Gabungkan semua bahagian untuk mendapatkan alamat URL lengkap
$ url = $ protokol.": //".$ domain.sumber $;
// Cetak alamat URL halaman semasa
gema "

Alamat URL halaman semasa adalah:

". $ url;
?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip dari pelayan. Nilai $ _SERVER ['HTTPS'] tidak pada untuk pelayan tempatan. Jadi output menunjukkan protokol HTTP untuk URL semasa.

Contoh 3: Paparkan URL halaman semasa berdasarkan nombor port

Dalam dua contoh sebelumnya, nilai $ _SERVER ['HTTPS'] digunakan untuk mengetahui protokol URL halaman semasa, dan tidak ada rentetan pertanyaan yang digunakan dengan URL. Contoh berikut menunjukkan bagaimana pemboleh ubah $ _SERVER ['SERVER_PORT'] dapat digunakan untuk mengetahui protokol dan mengambil alamat URL lengkap dengan rentetan pertanyaan. Buat fail PHP dengan skrip berikut.

Di sini, banyak keadaan logik dan operator ternary digunakan untuk mengetahui protokolnya. Sekiranya nilai $ _SERVER ['HTTPS'] kosong atau ditetapkan ke mati, maka ia akan memeriksa nilai $ _SERVER ['SERVER_PORT'] untuk mengetahui protokol URL semasa. Pemboleh ubah $ _SERVER ['QUERY_STRING'] digunakan untuk mendapatkan semula nilai rentetan pertanyaan dari URL.

// Cari tahu protokol url semasa
$ protokol = ((!kosong ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'mati') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Baca nama domain halaman semasa
$ domain = $ _SERVER ['HTTP_HOST'];
// Baca sumber yang diminta
$ sumber = $ _SERVER ['REQUEST_URI'];
// Baca nilai rentetan pertanyaan
$ pertanyaan = $ _SERVER ['QUERY_STRING'];
// Gabungkan semua bahagian untuk mendapatkan alamat URL lengkap
$ url = $ protokol.$ domain.sumber $;
// Cetak alamat URL halaman semasa
gema "

Alamat URL lengkap halaman semasa adalah:

". $ url;
// Cetak bahagian rentetan pertanyaan
gema "

Rentetan pertanyaan adalah:

". $ pertanyaan;
?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip di atas dari pelayan tanpa rentetan pertanyaan. Tidak ada rentetan pertanyaan yang disediakan di URL. Jadi output menunjukkan rentetan pertanyaan kosong.

Output berikut akan muncul setelah menjalankan skrip di atas dari pelayan dengan rentetan pertanyaan. Output berikut menunjukkan alamat URL dengan rentetan pertanyaan dan rentetan pertanyaan secara berasingan.

Kesimpulannya

Kaedah yang berbeza untuk mendapatkan URL penuh halaman semasa ditunjukkan dalam tutorial ini dengan menggunakan pelbagai contoh. Cara untuk memisahkan URL dan rentetan pertanyaan juga ditunjukkan dalam tutorial ini. Mudah-mudahan, tutorial ini dapat membantu pembaca mengetahui cara membaca URL penuh halaman semasa menggunakan skrip PHP.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...