問題10:Pathを分解しよう
3階層めにtestディレクトリを付けたパスを取得しよう
あらかじめエディタに書くコード
$path = '/var/www/html/example.com/index.html';
¥PHP¥
期待する画面
/var/www/test/html/example.com/index.html
解答ソースコード
$path = '/var/www/html/example.com/index.html';
$dir = dirname($path);
$arr = explode("/", $dir);
array_splice($arr, 3, 0, "test");
$dir = implode("/", $arr);
$path = $dir."/".basename($path);
echo $path;
¥PHP¥
#忍者CODE無料問題集で活動を記録しよう
完了にする!
1.PHPについての説明と表示
そこで一度分解した後に戻すという手順を踏むようにしたい。
dirnameはディレクトリ名、basenameはファイル名をそれぞれ取得する関数だ。
まずはディレクトリ名のみ取得し区切り文字を使って配列化する。
配列化することによって指定の位置に簡単に差し込むことが可能になる。
差し込んだ後は配列から文字列に戻して最後にファイル名を付けて完成だ。
ファイル名の前に区切り文字を付け忘れないようにしよう。