PHPファイルパス関數(shù)
ファイルパスを処理する狀況によく遭遇します。
例:
1. ファイルのサフィックスを取り出す必要があります
2. パスはディレクトリではなく名前を取り出す必要があります
3. パス名內(nèi)のディレクトリ パスを取り出すだけです
4. または、URL のすべての部分を獨(dú)立して分析します。 5. 自己形成 URL も出力します
....
多くの場(chǎng)所でパス処理クラスの関數(shù)を使用する必要があります。
一般的に使用されるパス処理関數(shù)を誰(shuí)でも簡(jiǎn)単に処理できるようにしました:
関數(shù) | |
---|---|
各ファイルを返すコンポーネント | |
ファイル名を返す | |
ファイルディレクトリの部分 | |
URLを部分に分割 | |
URL文字列でクエリを生成 | |
URLを生成します |
array pathinfo ( string $路徑)
功能:傳入文件路徑返回文件的各個(gè)組成部份
具體的な例を使用してみましょう:
<?php $path_parts = pathinfo('d:/www/index.inc.php'); echo '文件目錄名:'.$path_parts['dirname']."<br />"; echo '文件全名:'.$path_parts['basename']."<br />"; echo '文件擴(kuò)展名:'.$path_parts['extension']."<br />"; echo '不包含擴(kuò)展的文件名:'.$path_parts['filename']."<br />"; ?>
結(jié)果は次のようになります:
文件目錄名:d:/www 文件全名:lib.inc.php 文件擴(kuò)展名:php 不包含擴(kuò)展的文件名:lib.inc
basename
string basename ( string $路徑[, string $suffix ]) 功能:傳入路徑返回文件名 第一個(gè)參數(shù)傳入路徑。 第二個(gè)參數(shù),指定我文件名到了指定字符停止。
<?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; ?>
実行結(jié)果は次のとおりです
1: index 2: index.php 3: passwd
dirname れぇぇぇぇぇぇ結(jié)論: これを?qū)g行して、ファイルのディレクトリ部分が返されるかどうかを確認(rèn)できます。
parse_urldirname(string $路徑)
功能:返回文件路徑的文件目錄部份
<?php
dirname(__FILE__);
?>
結(jié)果は次のとおりです:
mixed parse_url ( string $路徑 ) 功能:將網(wǎng)址拆解成各個(gè)部份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"
}
結(jié)果は次のとおりです:
http_build_ url()
関數(shù): url
注:
は、Windows プラットフォームの echo "rn" に相當(dāng)し、
は、unixlinux プラットフォームの echo "n" に相當(dāng)します。