0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHP ファイルパス(文字列)のファイル部分以外を取得する

Posted at

この記事はmiriwoお一人様 Advent Calendar 2022の22日目の記事です

概要

  • PHPの組み込み関数を使ってファイルパスから、ファイル名を除いたパスを取得する方法をまとめる。

方法

  • 組み込み関数のdirname()を使う。

  • dirname()は下記のように使う。

    dirnameファイルパス, 階層指定[オプション])
    
  • 例えばfoo/bar/hoge/piyo/test.csvというファイル名込のパス情報があったとする。これのファイル名を除いたパスを取得したい場合下記の様に記載し実行する。

    $fullPath = 'foo/bar/hoge/piyo/test.csv';
    
    echo dirname($fullPath);
    // foo/bar/hoge/piyoが出力される
    
  • 階層指定を行うことでパスのどの階層までを取得するかを設定する事ができる。階数はintで設定する。階数は「カレントディレクトリから何階層上までを取得するか」を設定する。

  • 今回でいうとカレントディレクトリが「test.csv」ということになるので、第二引数に1を設定したら「test.csv」 から1階層上のパスを出すので指定しなかった場合と同じでfoo/bar/hoge/piyoが出力される。第二引数に2を設定したら「test.csv」 から2階層上のパスを出すのでfoo/bar/hogeが出力される。例を下記に記載する。

    $fullPath = 'foo/bar/hoge/piyo/test.csv';
    
    echo dirname($fullPath); // foo/bar/hoge/piyoが出力される
    echo dirname($fullPath, 1); // foo/bar/hoge/piyoが出力される
    echo dirname($fullPath, 2); // foo/bar/hogeが出力される
    echo dirname($fullPath, 3); // foo/barが出力される
    echo dirname($fullPath, 4); // fooが出力される
    

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?