LoginSignup
5
6

More than 3 years have passed since last update.

意外と使えるPHPのファイル系の標準関数/オブジェクトまとめ

Last updated at Posted at 2016-07-19

file

ファイル全体を読み込んで、データを配列形式で返す。

file_get_contents

ファイル全体を読み込んで、データを文字列形式で返す。

file_put_contents

文字列形式のデータをファイルに書き込む。
ファイル全体を書き換えるため、既にファイルがある場合はデータを上書きすることになるので要注意。

file_exists

引数で渡されたパスにファイルまたはディレクトリが存在するかチェックする。

fopen

ファイルまたはURLをオープンする。
以下のように標準入出力を使ったストリーム形式での対応も可能。

$stream = fopen('php://output', 'w');

fputcsv

第2引数に配列を渡すと、CSV形式に変換して出力する。

glob

引数のパス名にマッチするパス名を検索する。

mkdir

引数で渡されたパスにディレクトリを作成する。

pathinfo

引数に指定したファイルパスに関する以下の情報を取得する。

  • ディレクトリ名
  • ベースファイル名
  • 拡張子
  • 拡張子を除いたファイル名

引数の$optionを指定なしの場合は、上記の連想配列が、
引数の$optionを指定ありの場合は、指定した上記の情報が文字列で取得出来る。

rmdir

引数で渡されたパスのティレクトリを削除する。
ただしディレクトリ内にファイルが存在する場合は削除に失敗するため、実行前にファイルを削除する必要がある。

scandir

引数で渡されたパス内のディレクトリ及びファイルを配列形式で返す。
ただし「.」や「..」などのシンボリックリンクも取得するため、取得後は以下のようにして排除する。

$files = scandir("/var/tmp");
$files = array_filter($files, function($file) {
    // ディレクトリなど排除したい場合は以下の条件を変更
    return !in_array(file, [".", ".."]);
});

SplFileObject

SPLで提供されているファイル操作用のオブジェクト。
ファイル入出力の標準関数の多くをラッピングし、拡張子やファイル日付等の取得機能も提供している。

unlink

引数で渡されたパスのファイルを削除する。

5
6
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
5
6