Php/docs/function.pathinfo

提供:Dev Guides
< Php
移動先:案内検索

pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pathinfoファイルパスに関する情報を返す


説明

pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) : mixed

pathinfo() は、path に関する情報を返します。options によって連想配列あるいは文字列のどちらかとなります。

注意:

カレントのパスに関する情報を取得するには、 定義済みの変数 のセクションをご覧ください。

警告 pathinfo() はロケールを考慮して処理を行います。 マルチバイト文字を含むパスを正しく処理するには、正しいロケールを setlocale() 関数で設定しておかなければなりません。


パラメータ

path

調べたいパス。

options

指定する場合は、どの要素を返すのかを PATHINFO_DIRNAMEPATHINFO_BASENAMEPATHINFO_EXTENSION あるいは PATHINFO_FILENAME のいずれかで指定します。

options を省略した場合はすべての要素を返します。


返り値

options パラメータを渡さなかった場合は、次の要素を含む連想配列を返します。 dirnamebasenameextension (存在すれば)、そして filename

注意:

path に複数の拡張子が含まれる場合は、 PATHINFO_EXTENSION は最後の拡張子だけを返します。また、 PATHINFO_FILENAME は最後の拡張子だけを取り除きます (最初のサンプルを参照ください)。

注意:

path に拡張子がない場合は、 extension 要素は返されません (以下の二番目の例を参照ください)。

注意:

pathbasename がドットで始まる場合は、それに続く文字は extension とみなされます。そして filename は空文字列となります (以下の三番目の例を参照ください)。

options を指定すると、 要求した要素を文字列で返します。


例1 pathinfo() の例

<?php$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');echo $path_parts['dirname'], "\n";echo $path_parts['basename'], "\n";echo $path_parts['extension'], "\n";echo $path_parts['filename'], "\n"; // PHP 5.2.0 以降?>

上の例の出力は以下となります。


/www/htdocs/inc
lib.inc.php
php
lib.inc

例2 pathinfo() での、拡張子を空にしたときと拡張子がないときの違いの例

<?php$path_parts = pathinfo('/path/emptyextension.');var_dump($path_parts['extension']);$path_parts = pathinfo('/path/noextension');var_dump($path_parts['extension']);?>

上の例の出力は、 たとえば以下のようになります。


string(0) ""

Notice: Undefined index: extension in test.php on line 6
NULL

例3 pathinfo() での、ドットファイルの例

<?phpprint_r(pathinfo('/some/path/.test'));?>

上の例の出力は、 たとえば以下のようになります。


Array
(
    [dirname] => /some/path
    [basename] => .test
    [extension] => test
    [filename] => 
)

参考

  • dirname() - 親ディレクトリのパスを返す
  • basename() - パスの最後にある名前の部分を返す
  • parse_url() - URL を解釈し、その構成要素を返す
  • realpath() - 正規化された絶対パス名を返す