Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Laluan Relatif kepada URL Mutlak dalam PHP?

Bagaimana untuk Menukar Laluan Relatif kepada URL Mutlak dalam PHP?

DDD
DDDasal
2024-11-06 06:48:02579semak imbas

How to Convert Relative Paths to Absolute URLs in PHP?

Menukar Laluan Relatif kepada URL Mutlak dalam PHP

Apabila bekerja dengan URL, sering kali menjadi perlu untuk menukar laluan relatif kepada URL mutlak. PHP menyediakan fungsi yang dipanggil rel2abs yang menyelesaikan tugasan ini.

Definisi Fungsi

function rel2abs($rel, $base)
  • $rel: Laluan relatif yang perlu ditukar.
  • $base: URL asas dari mana laluan relatif akan diselesaikan.

Contoh Penggunaan

Coretan kod berikut menunjukkan cara menggunakan fungsi rel2abs:

$relativePath = 'images/logo.png';
$baseUrl = 'https://example.com';

$absoluteUrl = rel2abs($relativePath, $baseUrl);

echo $absoluteUrl; // Prints: https://example.com/images/logo.png

Butiran Pelaksanaan

Fungsi rel2abs mengikut langkah ini untuk menukar relatif laluan ke URL mutlak:

  1. Jika laluan relatif sudah menjadi URL mutlak (iaitu, ia mengandungi skema seperti "http" atau "https"), ia dikembalikan seperti sedia ada.
  2. Jika laluan relatif bermula dengan rentetan pertanyaan ("?") atau sauh ("#"), ia dilampirkan pada URL asas.
  3. URL asas dihuraikan ke dalam komponennya ( skema, hos dan laluan).
  4. Elemen bukan direktori daripada laluan URL asas dialih keluar.
  5. URL mutlak "kotor" dibina dengan menggabungkan hos URL asas, laluan diubah suai , dan laluan relatif.
  6. URL mutlak "kotor" dibersihkan dengan mengalih keluar sebarang garis miring berulang ("//"), garis miring ke hadapan yang tidak diperlukan selepas nama direktori ("/./"), atau rujukan direktori menjejak ke belakang ("/foo/../").
  7. URL mutlak akhir dikembalikan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Laluan Relatif kepada URL Mutlak dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn