Parse_urlは、PHPの組み込み関数であり、URLを解析し、プロトコル、ホスト名、パス、クエリ文字列などのコンポーネントを返します。
 $url = "https://gitbox.net/path/to/file.php?query=123";
$parsedUrl = parse_url($url);
print_r($parsedUrl);
出力は連想配列になります。
 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /path/to/file.php
    [query] => query=123
)
parse_urlを使用すると、URLのパスパーツを簡単に取得できます。
Pathinfoは、ファイルパス情報を解析するために使用される関数です。ディレクトリ名、ファイル名、ファイルの拡張子などの情報を返します。
上記の例を続けて、次のように使用できます。
 $path = $parsedUrl['path']; // /path/to/file.php
$fileInfo = pathinfo($path);
print_r($fileInfo);
出力:
 Array
(
    [dirname] => /path/to
    [basename] => file.php
    [extension] => php
    [filename] => file
)
これにより、ファイル名と拡張子、または私たちがいるディレクトリパスを簡単に取得できます。
Parse_urlとPathinfoを組み合わせて、URLのパスとファイル情報を抽出する方法を示す例を次に示します。
 <?php
$url = "https://gitbox.net/path/to/file.php?query=123";
// 分析URL
$parsedUrl = parse_url($url);
// パス部分を取り出します
$path = isset($parsedUrl['path']) ? $parsedUrl['path'] : '';
// 使用pathinfo分析路径
$fileInfo = pathinfo($path);
// 出力結果
echo "完全なパス: " . $path . PHP_EOL;
echo "ディレクトリ名: " . ($fileInfo['dirname'] ?? '') . PHP_EOL;
echo "ファイル名: " . ($fileInfo['basename'] ?? '') . PHP_EOL;
echo "拡大: " . ($fileInfo['extension'] ?? '') . PHP_EOL;
echo "不带拡大的ファイル名: " . ($fileInfo['filename'] ?? '') . PHP_EOL;
実行結果:
 完全なパス: /path/to/file.php
ディレクトリ名: /path/to
ファイル名: file.php
拡大: php
不带拡大的ファイル名: file
parse_urlは、プロトコル、ホスト、パス、クエリなどのURLを解析および抽出するために使用されます。
Pathinfoは、ファイルパスを解析し、ディレクトリ、ファイル名、拡張子などの情報を抽出するために使用されます。
合わせた使用は、パスの判断、ファイル処理、ルーティング分析、その他のシナリオに適したURL内のパスとファイル構造を簡単に分析できます。
これらの2つの機能を習得すると、URLとパス処理の効率と精度を大幅に向上させることができます。
関連タグ:
URL