ホームページ  >  記事  >  バックエンド開発  >  PHPのdirname、basename、pathinfo関数の違いと例

PHPのdirname、basename、pathinfo関数の違いと例

怪我咯
怪我咯オリジナル
2017-05-25 09:58:182484ブラウズ

PHP でファイルのパス、ディレクトリ、またはファイル名を取得するには、以前の記事で紹介した 3 つの関数 dirname()basename()pathinfo() をよく使用します。 , この記事では主にこの3つの機能の違いや使用例

を詳しく紹介していきます。

dirname() 関数

string dirname ( string $path )

php dirname 関数は、指定されたファイル パスのディレクトリ部分を取得します。パラメータ $path はファイル パスの文字列です

dirname() 関数は、マジック変数_ _FILE__ とともに使用されるマジック変数 __FILE__ は、現在実行中のファイルの完全なパスとファイル名を表します。

dirname(dirname(__FILE__)); 取得するのは、ファイルの上のディレクトリの名前です

dirname(__FILE__); 取得するのは、ファイルが存在するディレクトリの名前です

<?php
echo dirname("c:/testweb/home.php")."<br/>";
echo dirname("/testweb/home.php")."<br/><br/>";

echo __FILE__ ."<br/>";
echo dirname(__FILE__)."<br/>";
echo dirname(dirname(__FILE__));
?>

コードの実行結果:

PHPのdirname、basename、pathinfo関数の違いと例

basename() function

string basename ( string $path [, string $suffix ] )
php Basename() 関数は、dirname() の正反対で、パスのファイル名部分を取得します (dirname はディレクトリを取得します)パスの一部)。

最初のパラメータ $path は、ファイルへのフルパスを含む文字列を表し、2 番目のパラメータは、ファイル名が接尾辞で終わる場合、この部分も削除されることを表します。

例は次のとおりです:

<?php
var_dump(basename("/etc/sudoers.d", ".d"));
var_dump(basename("/etc/passwd"));
var_dump(basename("/etc/"));
var_dump(basename("."));
var_dump(basename("/"));
?>

コードの実行結果:

PHPのdirname、basename、pathinfo関数の違いと例

pathinfo() function

phpのpathinfo関数は、パスを解析し、パスを配列に解析するために使用されます。配列にはディレクトリ名、完全なファイル名、ファイル拡張子、ファイル名 (ファイル接尾辞を除く) の 4 つの値が含まれ、これら 4 つの値のキー名はそれぞれ dirname、basename、extension、filename です。これらの 4 つのキー名、完全なファイル名、ファイル拡張子、およびファイル名の値を使用してディレクトリ名を取得できます。

構文:

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

パラメータ:

path 解析するパス。

オプション 指定すると、PATHINFO_DIRNAME、PATHINFO_BASENAME、PATHINFO_EXTENSION または PATHINFO_FILENAME などの指定された要素が返されます。 オプションが指定されていない場合、デフォルトではすべての単位が返されます。

インスタンス:

<?
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>

コードの実行結果:


PHPのdirname、basename、pathinfo関数の違いと例

以上がPHPのdirname、basename、pathinfo関数の違いと例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。