首頁  >  文章  >  後端開發  >  如何在 PHP 中將相對路徑轉換為絕對 URL?

如何在 PHP 中將相對路徑轉換為絕對 URL?

DDD
DDD原創
2024-11-06 06:48:02510瀏覽

How to Convert Relative Paths to Absolute URLs in PHP?

在 PHP 中將相對路徑轉換為絕對 URL

使用 URL 時,通常需要將相對路徑轉換為絕對 URL。 PHP 提供了一個名為 rel2abs 的函數來完成此任務。

函數定義

function rel2abs($rel, $base)
  • $rel:需要轉換。
  • $base: 將解析相對路徑的基本 URL。

使用範例

以下程式碼片段示範如何使用rel2abs 函數:

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

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

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

實作細節rel2abs 函數依照以下步驟轉換相對值絕對URL 的路徑:

如果相對路徑已經是絕對 URL(即,它包含「http」或「https」等方案),則會按原樣返回。
  1. 如果相對路徑以查詢字串(“?”)或錨點(“#”)開頭,它將附加到基本 URL。
  2. 基本 URL 被解析為其元件(方案、主機和路徑)。
  3. 基本 URL 路徑中的非目錄元素將會被刪除。
  4. 透過組合基本 URL 的主機、修改路徑來建構「髒」絕對 URL和相對路徑。
  5. 刪除任何重複的斜線(“//”)、目錄名稱後不必要的正斜線(“/./”)或回溯目錄引用來清理“髒”絕對URL ("/ foo/../")。
  6. 返回最終的絕對URL。

以上是如何在 PHP 中將相對路徑轉換為絕對 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn