Ambil URL Lengkap di PHP

Retrieve Full Url Php



Dua jenis variabel global dapat digunakan dalam PHP: variabel superglobal dan variabel yang ditentukan pengguna. $_SERVER adalah variabel array superglobal yang digunakan untuk mengambil jalur lengkap halaman saat ini. Protokol (HTTP atau HTTPS) dari URL juga diperlukan untuk mendapatkan URL lengkap halaman. Jika $_SERVER['HTTPS'] kembali 'pada', maka HTTPS akan digunakan dengan alamat URL, jika tidak, HTTP akan digunakan. Bagaimana alamat URL lengkap halaman saat ini dapat diambil menggunakan $_SERVER array telah dijelaskan dalam tutorial ini.

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.