[PHP-ファイルシステム] ファイルパスを取得する
ファイル名を取得したいという機会は多いと思いますので、個人メモも兼ねて書いておきます。
サーバー上の絶対パスを取得する
指定したファイルのサーバー上での絶対パスを取得するには、realpath関数を使用します。 このland.toサーバーで例を挙げると… public_htmlディレクトリにtest.phpというファイルが存在するとします。 そのファイルの絶対パスを下記のソースで取得した場合 「/home1/httpd/momoya/public_html/test.php」といった様な結果が出力されます
<? // 絶対パスを表示 echo realpath('test.php') ?>
ファイルパスから、ディレクトリ名、ファイル名、拡張子を取得する
ディレクトリ名、ファイル名、拡張子を取得したい場合は、pathinfo関数を使う事で、簡単に取得できまます。 なお、pathinfo("FILE_PATH")の返り値は連想配列です。
<? // 情報を取得するファイルを指定 $path = pathinfo('test.php'); // ディレクトリ名を相対パスで表示 echo $path['dirname']."\n"; // . // 拡張子を含むファイル名を表示 echo $path['basename']."\n"; // test.php // 拡張子を表示 echo $path['extension']."\n"; // php // 拡張子を除いたファイル名を表示(PHP 5.2.0 以降) echo $path['filename']; // test ?>
また、オプションを指定する事で、仮想配列ではなく文字列で結果を取得できます。
<? // PATHINFO_* 定数は、PHPで定義されているint型の定数です。 // サンプルコードはあえて定数で記述していますが // pathinfo("FILE_PATH", 1); // のように記述してももちろん動作します echo "PATHINFO_DIRNAME(" . PATHINFO_DIRNAME . ") : "; echo pathinfo("/home1/httpd/momoya/public_html/test.php", PATHINFO_DIRNAME) . "\n"; echo "PATHINFO_BASENAME(" . PATHINFO_BASENAME . ") : "; echo pathinfo("/home1/httpd/momoya/public_html/test.php", PATHINFO_BASENAME) . "\n"; echo "PATHINFO_EXTENSION(" . PATHINFO_EXTENSION . "): "; echo pathinfo("/home1/httpd/momoya/public_html/test.php", PATHINFO_EXTENSION) . "\n"; echo "PATHINFO_FILENAME(" . PATHINFO_FILENAME . ") : "; echo pathinfo("/home1/httpd/momoya/public_html/test.php", PATHINFO_FILENAME) . "\n"; ?>
上記コードの実行結果は以下のようになります。
PATHINFO_DIRNAME(1) : /home1/httpd/momoya/public_html PATHINFO_BASENAME(2) : test.php PATHINFO_EXTENSION(4): php PATHINFO_FILENAME(8) : test
「PHP プログラミング」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
作成日:2008年05月24日(Sat) / 更新日:2008年07月21日(Mon)