関数・クラス解説
pathinfo
version:PHP 4 >= 4.0.3, PHP 5, PHP 7 (公式)ファイルパスに関する情報を返す
公式リファレンス
書式
pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) : mixed
説明
pathinfo() は、path に関する情報を返します。options によって連想配列あるいは文字列のどちらかとなります。
警告注意:
カレントのパスに関する情報を取得するには、 定義済みの変数 のセクションをご覧ください。
pathinfo() はロケールを考慮して処理を行います。 マルチバイト文字を含むパスを正しく処理するには、正しいロケールを setlocale() 関数で設定しておかなければなりません。
パラメータ
- path
- 調べたいパス。
- options
- 指定する場合は、どの要素を返すのかを PATHINFO_DIRNAME、 PATHINFO_BASENAME、 PATHINFO_EXTENSION あるいは PATHINFO_FILENAME のいずれかで指定します。 options を省略した場合はすべての要素を返します。
返値
options パラメータを渡さなかった場合は、次の要素を含む連想配列を返します。 dirname、basename、 extension (存在すれば)、そして filename。
注意: path に複数の拡張子が含まれる場合は、 PATHINFO_EXTENSION は最後の拡張子だけを返します。また、 PATHINFO_FILENAME は最後の拡張子だけを取り除きます (最初のサンプルを参照ください)。
注意: path に拡張子がない場合は、 extension 要素は返されません (以下の二番目の例を参照ください)。
注意: path の basename がドットで始まる場合は、それに続く文字は extension とみなされます。そして filename は空文字列となります (以下の三番目の例を参照ください)。options を指定すると、 要求した要素を文字列で返します。
サンプル
例1 pathinfo() の例
$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() での、拡張子を空にしたときと拡張子がないときの違いの例
$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() での、ドットファイルの例
print_r(pathinfo('/some/path/.test'));
上の例の出力は、たとえば以下のようになります。
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール