Dapatkan URL Penuh dalam PHP

Retrieve Full Url 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 ‘On’, 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. hilang) fungsi digunakan untuk memeriksa sama ada $ _SERVER [‘HTTPS’] adalah satu set atau tidak, dan jika ditetapkan, kemudian periksa nilai $ _SERVER [‘HTTPS’] apakah itu pada atau tidak. Seterusnya, nilai ketiga pemboleh ubah ini 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
sekiranya( hilang ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'di')
$ protokol = 'https';
yang lain
$ protokol = 'http';

// Gabungkan semua bahagian untuk mendapatkan alamat URL lengkap
$ url = $ protokol.': //'.$ domain.sumber $;
// Cetak alamat URL halaman semasa
membuang '

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. hilang) fungsi digunakan untuk memeriksa sama ada $ _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-bahagian lain dari URL diambil dan dicetak seperti contoh sebelumnya.


// Cari tahu protokol url semasa
$ protokol = ( hilang ($ _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
membuang '

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 pengendali 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 mengambil 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
membuang '

Alamat URL lengkap halaman semasa adalah:

'
. $ url;
// Cetak bahagian rentetan pertanyaan
membuang '

Rentetan pertanyaan adalah:

'
. pertanyaan $;
?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip di atas dari pelayan tanpa rentetan pertanyaan. Tidak ada rentetan pertanyaan dalam 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. Semoga tutorial ini dapat membantu pembaca mengetahui cara membaca URL penuh halaman semasa menggunakan skrip PHP.