ファイルパスを処理する状況によく遭遇します。
例:
1. ファイルのサフィックスを取り出す必要があります
2. パスはディレクトリではなく名前を取り出す必要があります
3. パス名内のディレクトリ パスを取り出すだけです
4. または、URL のすべての部分を独立して分析します。 5. 自己形成 URL も出力します
....
多くの場所でパス処理クラスの関数を使用する必要があります。
一般的に使用されるパス処理関数を誰でも簡単に処理できるようにしました:
関数 | |
---|---|
各ファイルを返すコンポーネント | |
ファイル名を返す | |
ファイルディレクトリの部分 | |
URLを部分に分割 | |
URL文字列でクエリを生成 | |
URLを生成します |
array pathinfo ( string $路径)
功能:传入文件路径返回文件的各个组成部份
具体的な例を使用してみましょう:
<?php $path_parts = pathinfo('d:/www/index.inc.php'); echo '文件目录名:'.$path_parts['dirname']."<br />"; echo '文件全名:'.$path_parts['basename']."<br />"; echo '文件扩展名:'.$path_parts['extension']."<br />"; echo '不包含扩展的文件名:'.$path_parts['filename']."<br />"; ?>
結果は次のようになります:
文件目录名:d:/www 文件全名:lib.inc.php 文件扩展名:php 不包含扩展的文件名:lib.inc
basename
string basename ( string $路径[, string $suffix ]) 功能:传入路径返回文件名 第一个参数传入路径。 第二个参数,指定我文件名到了指定字符停止。
<?php echo "1: ".basename("d:/www/index.d", ".d").PHP_EOL; echo "2: ".basename("d:/www/index.php").PHP_EOL; echo "3: ".basename("d:/www/passwd").PHP_EOL; ?>
実行結果は次のとおりです
1: index 2: index.php 3: passwd
dirname れぇぇぇぇぇぇ結論: これを実行して、ファイルのディレクトリ部分が返されるかどうかを確認できます。
parse_urldirname(string $路径)
功能:返回文件路径的文件目录部份
<?php
dirname(__FILE__);
?>
結果は次のとおりです:
mixed parse_url ( string $路径 ) 功能:将网址拆解成各个部份http_build_query
<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url));
?>
array(8) {
["scheme"]=> string(4) "http"
["host"]=> string(8) "hostname"
["port"]=> int(9090)
["user"]=> string(8) "username"
["pass"]=> string(8) "password"
["path"]=> string(5) "/path"
["query"]=> string(9) "arg=value"
["fragment"]=> string(6) "anchor"
}
結果は次のとおりです:
http_build_ url()
関数: url
注:
は、Windows プラットフォームの echo "rn" に相当し、
は、unixlinux プラットフォームの echo "n" に相当します。次のセクション