Menukar Laluan Relatif kepada URL Mutlak dengan PHP
Menubah laluan relatif kepada URL mutlak ialah tugas biasa apabila bekerja dengan halaman web. PHP menyediakan fungsi mudah, rel2abs, untuk memudahkan proses ini.
Memahami Fungsi
Fungsi rel2abs mengambil dua parameter:
- $rel: Laluan relatif yang perlu diubah.
-
$base: URL asas dari mana laluan mutlak harus dijana.
Pelaksanaan Fungsi
- Ia mula-mula menyemak sama ada $rel yang disediakan sudah menjadi URL mutlak (iaitu, ia mengandungi skema, seperti "http" atau "https "). Jika ya, fungsi itu mengembalikannya sebagaimana adanya.
- Jika $rel bukan URL mutlak, ia menyemak sama ada ia bermula dengan "#" atau "?". Jika ya, ini bermakna laluan mewakili sama ada sauh atau rentetan pertanyaan. Dalam kes itu, fungsi menambah URL asas kepada $rel dan mengembalikannya.
- Untuk laluan yang tidak sesuai dengan kategori di atas, fungsi mengekstrak komponen skema, hos dan laluan daripada URL asas dan mengalih keluar elemen bukan direktori daripada laluan.
- Jika laluan relatif bermula dengan "/", ini bermakna laluan adalah relatif mutlak kepada direktori akar. Dalam kes itu, laluan semasa dalam URL asas dibuang dan laluan daripada URL relatif digunakan.
- Fungsi ini kemudiannya membina URL mutlak yang kotor dengan menggabungkan komponen daripada URL asas dan laluan relatif .
- Akhir sekali, ia menggunakan satu siri ungkapan biasa untuk membersihkan URL mutlak yang kotor, mengalih keluar elemen yang tidak perlu seperti garis miring berganda ("//"), laluan titik ("/./") dan induk yang tidak diperlukan rujukan direktori ("/foo/../").
- URL yang terhasil kemudiannya dikembalikan sebagai URL mutlak.
Contoh Penggunaan
Coretan kod berikut menunjukkan contoh cara menggunakan fungsi rel2abs:
$base_url = "https://www.example.com/directory/";
$relative_path = "about.php";
$absolute_url = rel2abs($relative_path, $base_url);
echo $absolute_url; // Output: https://www.example.com/directory/about.php
Salin selepas log masuk
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar laluan relatif kepada URL mutlak menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!