Variabel yang Diperlukan
Variabel superglobal berikut diperlukan untuk mengetahui alamat URL halaman saat ini.
Variabel Superglobal | Tujuan |
---|---|
$_SERVER['HTTPS'] | Ini kembali pada jika protokol HTTPS digunakan di URL halaman saat ini. |
$_SERVER['HTTP_HOST'] | Ini mengembalikan nama server dari halaman saat ini. |
$_SERVER['REQUEST_URI'] | Ini mengembalikan nama sumber daya yang diminta. |
$_SERVER['SERVER_PORT'] | Ini mengembalikan nomor port server. |
$_SERVER['QUERY_STRING'] | Ini mengembalikan nilai string kueri jika ada di alamat URL halaman saat ini. |
Contoh 1: Tampilkan URL halaman saat ini menggunakan pernyataan bersyarat
Contoh berikut menunjukkan bagaimana pernyataan kondisional dapat digunakan untuk mendapatkan protokol yang digunakan dalam URL halaman saat ini. Buat file PHP dengan skrip berikut.
Nilai $_SERVER['HTTP_HOST'] digunakan untuk mendapatkan nama domain dari URL saat ini. Nilai $_SERVER['REQUEST_URI'] digunakan untuk mendapatkan nama sumber daya yang diminta. hilang) fungsi digunakan untuk memeriksa apakah $_SERVER[‘HTTPS’] adalah set atau tidak, dan jika disetel, maka periksa nilai $_SERVER[‘HTTPS’] apakah itu pada atau tidak. Selanjutnya, nilai ketiga variabel ini digabungkan dengan '//:' untuk mengambil URL lengkap halaman saat ini.
// Baca nama domain halaman saat ini
$domain = $_SERVER['HTTP_HOST'];
//Baca sumber yang diminta
$sumber daya = $_SERVER['REQUEST_URI'];
// Cari tahu protokol url saat ini
jika( hilang ($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'pada')
$protokol = 'https';
lain
$protokol = 'http';
// Gabungkan semua bagian untuk mendapatkan alamat URL lengkap
$url = $protokol.': //'.$domain.$sumber daya;
// Cetak alamat URL halaman saat ini
dibuang '
Alamat URL saat ini
halaman adalah:
'. $url;?> Keluaran:
Output berikut akan muncul setelah menjalankan skrip dari server. Nilai $_SERVER['HTTPS'] bukan pada untuk server lokal. Jadi outputnya menunjukkan http protokol untuk URL saat ini.
Contoh 2: Tampilkan URL halaman saat ini menggunakan operator ternary
Contoh berikut menunjukkan cara untuk mendapatkan URL lengkap halaman saat ini menggunakan operator ternary. Buat file PHP dengan skrip berikut.
Jika kondisi digunakan pada contoh sebelumnya untuk mengetahui protokol mana yang digunakan dalam URL halaman saat ini. Tugas yang sama dilakukan dengan menggunakan operator ternary dalam skrip ini. hilang) fungsi digunakan untuk memeriksa apakah $_SERVER[‘HTTPS’] adalah set atau tidak, dan apakah nilai $_SERVER[‘HTTPS’] adalah pada, maka operator ternary akan mengembalikan HTTPS, jika tidak maka akan mengembalikan HTTP. Bagian lain dari URL diambil dan dicetak seperti contoh sebelumnya.
// Cari tahu protokol url saat ini
$protokol = ( hilang ($_SERVER['HTTPS']) && $_SERVER['HTTPS']
== 'pada'?'https' : 'http');
// Baca nama domain halaman saat ini
$domain = $_SERVER['HTTP_HOST'];
//Baca sumber yang diminta
$sumber daya = $_SERVER['REQUEST_URI'];
// Gabungkan semua bagian untuk mendapatkan alamat URL lengkap
$url = $protokol.': //'.$domain.$sumber daya;
// Cetak alamat URL halaman saat ini
dibuang '
Alamat URL halaman saat ini adalah:
'. $url;?>
Keluaran:
Output berikut akan muncul setelah menjalankan skrip dari server. Nilai $_SERVER['HTTPS'] bukan pada untuk server lokal. Jadi output menunjukkan protokol HTTP untuk URL saat ini.
Contoh 3: Menampilkan URL halaman saat ini berdasarkan nomor port
Dalam dua contoh sebelumnya, nilai $_SERVER['HTTPS'] digunakan untuk mengetahui protokol URL halaman saat ini, dan tidak ada string kueri yang digunakan dengan URL tersebut. Contoh berikut menunjukkan bagaimana variabel $_SERVER['SERVER_PORT'] dapat digunakan untuk mengetahui protokol dan mengambil alamat URL lengkap dengan string kueri. Buat file PHP dengan skrip berikut.
Di sini, beberapa kondisi logis dan operator ternary digunakan untuk mengetahui protokol. Jika nilai $_SERVER['HTTPS'] kosong atau disetel ke mati, kemudian akan memeriksa nilai $_SERVER['SERVER_PORT'] untuk mengetahui protokol URL saat ini. Variabel $_SERVER['QUERY_STRING'] digunakan untuk mengambil nilai string kueri dari URL.
// Cari tahu protokol url saat ini
$protokol = ((! kosong ($_SERVER['HTTPS']) && $_SERVER['HTTPS']
! = 'mati') || $_SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Baca nama domain halaman saat ini
$domain = $_SERVER['HTTP_HOST'];
// Baca sumber yang diminta
$sumber daya = $_SERVER['REQUEST_URI'];
// Baca nilai string kueri
$permintaan = $_SERVER['QUERY_STRING'];
// Gabungkan semua bagian untuk mendapatkan alamat URL lengkap
$url = $protokol.$domain.$sumber daya;
// Cetak alamat URL halaman saat ini
dibuang '
Alamat URL lengkap halaman saat ini adalah:
'. $url;// Cetak bagian string kueri
dibuang '
String kueri adalah:
'. $permintaan;?>
Keluaran:
Output berikut akan muncul setelah menjalankan skrip di atas dari server tanpa string kueri apa pun. Tidak ada string kueri yang disediakan di URL. Jadi output menunjukkan string kueri kosong.
Output berikut akan muncul setelah menjalankan skrip di atas dari server dengan string kueri. Output berikut menunjukkan alamat URL dengan string kueri dan string kueri secara terpisah.
Kesimpulan
Berbagai cara untuk mengambil URL lengkap dari halaman saat ini ditampilkan dalam tutorial ini dengan menggunakan berbagai contoh. Cara memisahkan URL dan string kueri juga ditampilkan dalam tutorial ini. Semoga tutorial ini akan membantu pembaca mengetahui cara membaca URL lengkap halaman saat ini menggunakan skrip PHP.