こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 PHPで相対パスから絶対パスを取得するrealpath関数について
- realpath関数とは
- realpath関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
realpath関数とは
realpath関数とは、引数に指定された相対パスから絶対パスを返す関数です。
それぞれのパスについては、こちらの記事をご参考ください。
realpath関数のサンプルは、以下になります。
1 2 |
$sample = './'; $result = realpath($sample); |
上記の例だと、変数resultには実行プログラムの絶対パスが返されます。
もしrealpath関数の引数に指定した文字列が
- 存在しないパス
- 「aaa」などの文字列
だとfalseを返します。
では、次の章で実際に使ってみます。
realpath関数を解説するプログラムの概要
realpath関数を解説するプログラムでは引数に
- カレントディレクトリ
- 存在しない相対パス
- 文字列
の3パターンの値を指定して結果を表示させます。
phpプログラムは
C:\xampp\htdocs
配下に、【realpath_sample.php】というファイル名で格納しています。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php print('■realpath関数サンプル<br >'); print('・カレントディレクトリを指定<br >'); $current_directory_path = './'; $conversion_current_directory_path = realpath($current_directory_path); print('変換するパス:'.$current_directory_path.'<br >'); var_export($conversion_current_directory_path); print('<br ><br >'); print('・存在しない相対パスを指定<br >'); $parent_directory_path = './test'; $conversion_parent_directory_path = realpath($parent_directory_path); print('変換するパス:'.$parent_directory_path.'<br >'); var_export($conversion_parent_directory_path); print('<br ><br >'); print('・文字列を指定<br >'); $string_path = 'aaa'; $conversion_string_path = realpath($string_path); print('変換するパス:'.$string_path.'<br >'); var_export($conversion_string_path); ?> |
実行結果
XAMPPを起動して、【http://localhost/is_string_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
■realpath関数サンプル ・カレントディレクトリを指定 変換するパス:./ 'C:\\xampp\\htdocs' ・存在しない相対パスを指定 変換するパス:./test false ・文字列を指定 変換するパス:aaa false |
存在する相対パスを指定した場合のみ絶対パスを取得できていることが確認できました。
まとめ:realpath関数を使ってみよう!
以上がrealpath関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント