ホームページ  >  記事  >  バックエンド開発  >  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 へのパス:

  1. 相対パスがすでに絶対 URL である場合 (つまり、「http」や「https」などのスキームが含まれている場合)、そのまま返されます。
  2. 相対パスがクエリ文字列 (「?」) またはアンカー (「#」) で始まる場合、それはベース URL に追加されます。
  3. ベース URL はそのコンポーネント (スキーム、ホスト、パス)。
  4. ベース URL のパスから非ディレクトリ要素が削除されます。
  5. ベース URL のホストと変更されたパスを組み合わせて、「ダーティ」絶対 URL が構築されます
  6. 「汚れた」絶対 URL は、繰り返されるスラッシュ (「//」)、ディレクトリ名の後の不要なスラッシュ (「/./」)、またはディレクトリ参照のバックトラックを削除することによってクリーンアップされます。 ("/foo/../").
  7. 最終的な絶対 URL が返されます。

以上がPHP で相対パスを絶対 URL に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。