filesystem
in package
tomk79/filesystem core class
Tags
Table of Contents
- $default_permission : mixed
- ファイルおよびディレクトリ操作時のデフォルトパーミッション
- $filesystem_encoding : mixed
- ファイルシステムの文字セット
- __construct() : mixed
- コンストラクタ
- chmod() : bool
- パーミッションを変更する。
- chmod_r() : bool
- パーミッションを再帰的に変更する。(下層のファイルやディレクトリも全て)
- compare_and_cleanup() : bool
- ディレクトリの内部を比較し、$comparisonに含まれない要素を$targetから削除する。
- compare_dir() : bool
- 指定された2つのディレクトリの内容を比較し、まったく同じかどうか調べる。
- convert_crlf() : string
- 受け取ったテキストを、指定の改行コードに変換する。
- convert_encoding() : string
- 受け取ったテキストを、ファイルシステムエンコードに変換する。
- copy() : bool
- ファイルを複製する。
- copy_r() : bool
- ディレクトリを再帰的に複製する(下層ディレクトリも全てコピー)
- file_exists() : bool
- ファイルまたはディレクトリが存在するかどうか調べる。
- get_basename() : string
- パス情報から、ファイル名を取得する。
- get_dirpath() : string
- ファイル名を含むパス情報から、ファイルが格納されているディレクトリ名を取得する。
- get_extension() : string
- パス情報から、拡張子を取得する。
- get_permission() : int|bool
- パーミッション情報を調べ、3桁の数字で返す。
- get_realpath() : string
- 絶対パスを得る。
- get_relatedpath() : string
- 相対パスを得る。
- is_dir() : bool
- ディレクトリが存在するかどうか調べる。
- is_file() : bool
- ファイルが存在するかどうか調べる。
- is_link() : bool
- シンボリックリンクかどうか調べる。
- is_newer_a_than_b() : bool|null
- ファイルの更新日時を比較する。
- is_readable() : bool
- 読み込んでよいアイテムか検証する。
- is_unix() : bool
- サーバがUNIXパスか調べる。
- is_windows() : bool
- サーバがWindowsパスか調べる。
- is_writable() : bool
- 書き込み/上書きしてよいアイテムか検証する。
- localize_path() : string
- パスをOSの標準的な表現に変換する。
- ls() : array<string|int, mixed>|bool
- ディレクトリにあるファイル名のリストを配列で返す。
- mk_csv() : string
- 配列をCSV形式に変換する。
- mkdir() : bool
- ディレクトリを作成する。
- mkdir_r() : bool
- ディレクトリを作成する(上層ディレクトリも全て作成)
- normalize_path() : string
- パスを正規化する。
- pathinfo() : array<string|int, mixed>
- パス情報を得る。
- read_csv() : array<string|int, mixed>|bool
- CSVファイルを読み込む。
- read_file() : string
- ファイルの中身を文字列として取得する。
- remove_empty_dir() : bool
- 指定されたディレクトリ以下の、全ての空っぽのディレクトリを削除する。
- rename() : bool
- ファイル名/ディレクトリ名を変更する。
- rename_f() : bool
- ファイル名/ディレクトリ名を強制的に変更する。
- rm() : bool
- ファイルやディレクトリを中身ごと完全に削除する。
- rmdir() : bool
- ディレクトリを削除する。
- rmdir_r() : bool
- ディレクトリを再帰的に削除する。
- save_file() : bool
- ファイルを上書き保存する。
- sync_dir() : bool
- ディレクトリを同期する。
- trim_extension() : string
- パス情報から、拡張子を除いたファイル名を取得する。
Properties
$default_permission
ファイルおよびディレクトリ操作時のデフォルトパーミッション
private
mixed
$default_permission
= array('dir' => 0775, 'file' => 0775)
$filesystem_encoding
ファイルシステムの文字セット
private
mixed
$filesystem_encoding
= null
Methods
__construct()
コンストラクタ
public
__construct([object $conf = null ]) : mixed
Parameters
- $conf : object = null
-
設定オブジェクト
Return values
mixed —chmod()
パーミッションを変更する。
public
chmod(string $filepath[, int $perm = null ]) : bool
Parameters
- $filepath : string
-
対象のパス
- $perm : int = null
-
与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
chmod_r()
パーミッションを再帰的に変更する。(下層のファイルやディレクトリも全て)
public
chmod_r(string $filepath[, int $perm_file = null ][, int $perm_dir = null ]) : bool
$perm_file
と $perm_dir
が省略された場合は、代わりに初期化時に登録されたデフォルトのパーミッションが与えられます。
第2引数 $perm_dir
が省略され、最初の引数 $perm_file
だけが与えられた場合は、 ファイルとディレクトリの両方に $perm_file
が適用されます。
Parameters
- $filepath : string
-
対象のパス
- $perm_file : int = null
-
ファイルに与えるパーミッション (省略可)
- $perm_dir : int = null
-
ディレクトリに与えるパーミッション (省略可)
Return values
bool —成功時に true
、失敗時に false
を返します。
compare_and_cleanup()
ディレクトリの内部を比較し、$comparisonに含まれない要素を$targetから削除する。
public
compare_and_cleanup(string $target, string $comparison) : bool
Parameters
- $target : string
-
クリーニング対象のディレクトリパス
- $comparison : string
-
比較するディレクトリのパス
Return values
bool —成功時 true
、失敗時 false
を返します。
compare_dir()
指定された2つのディレクトリの内容を比較し、まったく同じかどうか調べる。
public
compare_dir(string $dir_a, string $dir_b[, array<string|int, mixed> $options = array() ]) : bool
Parameters
- $dir_a : string
-
比較対象ディレクトリA
- $dir_b : string
-
比較対象ディレクトリB
- $options : array<string|int, mixed> = array()
-
オプション
- bool $options['compare_filecontent']
- ファイルの中身も比較するか?
- bool $options['compare_emptydir']
- 空っぽのディレクトリの有無も評価に含めるか?
Return values
bool —同じ場合に true
、異なる場合に false
を返します。
convert_crlf()
受け取ったテキストを、指定の改行コードに変換する。
public
convert_crlf(mixed $text[, string $crlf = null ]) : string
Parameters
- $text : mixed
-
テキスト
- $crlf : string = null
-
改行コード名。CR|LF(default)|CRLF
Return values
string —改行コード変換後のテキスト
convert_encoding()
受け取ったテキストを、ファイルシステムエンコードに変換する。
public
convert_encoding(mixed $text[, string $to_encoding = null ][, string $from_encoding = null ]) : string
Parameters
- $text : mixed
-
テキスト
- $to_encoding : string = null
-
文字セット(省略時、内部文字セット)
- $from_encoding : string = null
-
変換前の文字セット
Return values
string —文字セット変換後のテキスト
copy()
ファイルを複製する。
public
copy(string $from, string $to[, int $perm = null ]) : bool
Parameters
- $from : string
-
コピー元ファイルのパス
- $to : string
-
コピー先のパス
- $perm : int = null
-
保存するファイルに与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
copy_r()
ディレクトリを再帰的に複製する(下層ディレクトリも全てコピー)
public
copy_r(string $from, string $to[, int $perm = null ]) : bool
ディレクトリを、含まれる内容ごと複製します。 受け取ったパスがファイルの場合は、単体のファイルが複製されます。
Parameters
- $from : string
-
コピー元ファイルのパス
- $to : string
-
コピー先のパス
- $perm : int = null
-
保存するファイルに与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
file_exists()
ファイルまたはディレクトリが存在するかどうか調べる。
public
file_exists(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —ファイルまたはディレクトリが存在する場合 true
、存在しない場合に false
を返します。
get_basename()
パス情報から、ファイル名を取得する。
public
get_basename(string $path) : string
Parameters
- $path : string
-
対象のパス
Return values
string —抜き出されたファイル名
get_dirpath()
ファイル名を含むパス情報から、ファイルが格納されているディレクトリ名を取得する。
public
get_dirpath(string $path) : string
Parameters
- $path : string
-
対象のパス
Return values
string —親ディレクトリのパス
get_extension()
パス情報から、拡張子を取得する。
public
get_extension(string $path) : string
Parameters
- $path : string
-
対象のパス
Return values
string —拡張子
get_permission()
パーミッション情報を調べ、3桁の数字で返す。
public
get_permission(string $path) : int|bool
Parameters
- $path : string
-
対象のパス
Return values
int|bool —成功時に 3桁の数字、失敗時に false
を返します。
get_realpath()
絶対パスを得る。
public
get_realpath(string $path[, string $cd = '.' ]) : string
パス情報を受け取り、スラッシュから始まるサーバー内部絶対パスに変換して返します。
このメソッドは、PHPの realpath()
と異なり、存在しないパスも絶対パスに変換します。
Parameters
- $path : string
-
対象のパス
- $cd : string = '.'
-
カレントディレクトリパス。 実在する有効なディレクトリのパス、または絶対パスの表現で指定される必要があります。 省略時、カレントディレクトリを自動採用します。
Return values
string —絶対パス
get_relatedpath()
相対パスを得る。
public
get_relatedpath(string $path[, string $cd = '.' ]) : string
パス情報を受け取り、ドットスラッシュから始まる相対絶対パスに変換して返します。
Parameters
- $path : string
-
対象のパス
- $cd : string = '.'
-
カレントディレクトリパス。 実在する有効なディレクトリのパス、または絶対パスの表現で指定される必要があります。 省略時、カレントディレクトリを自動採用します。
Return values
string —相対パス
is_dir()
ディレクトリが存在するかどうか調べる。
public
is_dir(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —ディレクトリが存在する場合 true
、存在しない場合、またはファイルが存在する場合に false
を返します。
is_file()
ファイルが存在するかどうか調べる。
public
is_file(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —ファイルが存在する場合 true
、存在しない場合、またはディレクトリが存在する場合に false
を返します。
is_link()
シンボリックリンクかどうか調べる。
public
is_link(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —ファイルがシンボリックリンクの場合 true
、存在しない場合、それ以外の場合に false
を返します。
is_newer_a_than_b()
ファイルの更新日時を比較する。
public
is_newer_a_than_b(string $path_a, string $path_b) : bool|null
Parameters
- $path_a : string
-
比較対象A
- $path_b : string
-
比較対象B
Return values
bool|null —$path_a
の方が新しかった場合に true
、
$path_b
の方が新しかった場合に false
、
同時だった場合に null
を返します。
いずれか一方、または両方のファイルが存在しない場合、次のように振る舞います。
- 両方のファイルが存在しない場合 =
null
- $path_a が存在せず、$path_b は存在する場合 =
false
- $path_a が存在し、$path_b は存在しない場合 =
true
is_readable()
読み込んでよいアイテムか検証する。
public
is_readable(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —読み込み可能な場合 true
、不可能な場合に false
を返します。
is_unix()
サーバがUNIXパスか調べる。
public
is_unix() : bool
Return values
bool —UNIXパスなら true
、それ以外なら false
を返します。
is_windows()
サーバがWindowsパスか調べる。
public
is_windows() : bool
Return values
bool —Windowsパスなら true
、それ以外なら false
を返します。
is_writable()
書き込み/上書きしてよいアイテムか検証する。
public
is_writable(string $path) : bool
Parameters
- $path : string
-
検証対象のパス
Return values
bool —書き込み可能な場合 true
、不可能な場合に false
を返します。
localize_path()
パスをOSの標準的な表現に変換する。
public
localize_path(string $path) : string
受け取ったパスを、OSの標準的な表現に変換します。
- スラッシュとバックスラッシュの違いを吸収し、
DIRECTORY_SEPARATOR
に置き換えます。
Parameters
- $path : string
-
ローカライズするパス
Return values
string —ローカライズされたパス
ls()
ディレクトリにあるファイル名のリストを配列で返す。
public
ls(string $path) : array<string|int, mixed>|bool
Parameters
- $path : string
-
対象ディレクトリのパス
Return values
array<string|int, mixed>|bool —成功時にファイルまたはディレクトリ名の一覧を格納した配列、失敗時に false
を返します。
mk_csv()
配列をCSV形式に変換する。
public
mk_csv(array<string|int, mixed> $array[, array<string|int, mixed> $options = array() ]) : string
改行コードはLFで出力されます。
Parameters
- $array : array<string|int, mixed>
-
2次元配列
- $options : array<string|int, mixed> = array()
-
オプション
- charset = 文字セット(省略時、UTF-8)
Return values
string —生成されたCSV形式のテキスト
mkdir()
ディレクトリを作成する。
public
mkdir(string $dirpath[, int $perm = null ]) : bool
Parameters
- $dirpath : string
-
作成するディレクトリのパス
- $perm : int = null
-
作成するディレクトリに与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
mkdir_r()
ディレクトリを作成する(上層ディレクトリも全て作成)
public
mkdir_r(string $dirpath[, int $perm = null ]) : bool
Parameters
- $dirpath : string
-
作成するディレクトリのパス
- $perm : int = null
-
作成するディレクトリに与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
normalize_path()
パスを正規化する。
public
normalize_path(string $path) : string
受け取ったパスを、スラッシュ区切りの表現に正規化します。
Windowsのボリュームラベルが付いている場合は削除します。
URIスキーム(http, https, ftp など) で始まる場合、2つのスラッシュで始まる場合(//www.example.com/abc/
など)、これを残して正規化します。
- 例:
\a\b\c.html
→/a/b/c.html
バックスラッシュはスラッシュに置き換えられます。 - 例:
/a/b////c.html
→/a/b/c.html
余計なスラッシュはまとめられます。 - 例:
C:\a\b\c.html
→/a/b/c.html
ボリュームラベルは削除されます。 - 例:
http://a/b/c.html
→http://a/b/c.html
URIスキームは残されます。 - 例:
//a/b/c.html
→//a/b/c.html
ドメイン名は残されます。
Parameters
- $path : string
-
正規化するパス
Return values
string —正規化されたパス
pathinfo()
パス情報を得る。
public
pathinfo(string $path) : array<string|int, mixed>
Parameters
- $path : string
-
対象のパス
Return values
array<string|int, mixed> —パス情報
read_csv()
CSVファイルを読み込む。
public
read_csv(string $path[, array<string|int, mixed> $options = array() ]) : array<string|int, mixed>|bool
Parameters
- $path : string
-
対象のCSVファイルのパス
- $options : array<string|int, mixed> = array()
-
オプション
- delimiter = 区切り文字(省略時、カンマ)
- enclosure = クロージャー文字(省略時、ダブルクオート)
- size = 一度に読み込むサイズ(省略時、10000)
- charset = 文字セット(省略時、UTF-8)
Return values
array<string|int, mixed>|bool —読み込みに成功した場合、行列を格納した配列、失敗した場合には false
を返します。
read_file()
ファイルの中身を文字列として取得する。
public
read_file(string $path) : string
Parameters
- $path : string
-
ファイルのパス
Return values
string —ファイル $path
の内容
remove_empty_dir()
指定されたディレクトリ以下の、全ての空っぽのディレクトリを削除する。
public
remove_empty_dir(string $path[, array<string|int, mixed> $options = array() ]) : bool
Parameters
- $path : string
-
ディレクトリパス
- $options : array<string|int, mixed> = array()
-
オプション
Return values
bool —成功時 true
、失敗時 false
を返します。
rename()
ファイル名/ディレクトリ名を変更する。
public
rename(string $original, string $newname) : bool
Parameters
- $original : string
-
現在のファイルまたはディレクトリ名
- $newname : string
-
変更後のファイルまたはディレクトリ名
Return values
bool —成功時 true
、失敗時 false
を返します。
rename_f()
ファイル名/ディレクトリ名を強制的に変更する。
public
rename_f(string $original, string $newname) : bool
移動先の親ディレクトリが存在しない場合にも、親ディレクトリを作成して移動するよう試みます。
Parameters
- $original : string
-
現在のファイルまたはディレクトリ名
- $newname : string
-
変更後のファイルまたはディレクトリ名
Return values
bool —成功時 true
、失敗時 false
を返します。
rm()
ファイルやディレクトリを中身ごと完全に削除する。
public
rm(string $path) : bool
このメソッドは、ファイルやシンボリックリンクも削除します。 ディレクトリを削除する場合は、中身ごと完全に削除します。 シンボリックリンクは、その先を追わず、シンボリックリンク本体のみを削除します。
Parameters
- $path : string
-
対象のパス
Return values
bool —成功時に true
、失敗時に false
を返します。
rmdir()
ディレクトリを削除する。
public
rmdir(string $path) : bool
このメソッドはディレクトリを削除します。 中身のない、空のディレクトリ以外は削除できません。
Parameters
- $path : string
-
対象ディレクトリのパス
Return values
bool —成功時に true
、失敗時に false
を返します。
rmdir_r()
ディレクトリを再帰的に削除する。
public
rmdir_r(string $path) : bool
このメソッドはディレクトリを再帰的に削除します。 中身のない、空のディレクトリ以外は削除できません。
Parameters
- $path : string
-
対象ディレクトリのパス
Return values
bool —成功時に true
、失敗時に false
を返します。
save_file()
ファイルを上書き保存する。
public
save_file(string $filepath, string $content[, int $perm = null ]) : bool
このメソッドは、$filepath
にデータを保存します。
もともと保存されていた内容は破棄され、新しいデータで上書きします。
Parameters
- $filepath : string
-
保存先ファイルのパス
- $content : string
-
保存する内容
- $perm : int = null
-
保存するファイルに与えるパーミッション
Return values
bool —成功時に true
、失敗時に false
を返します。
sync_dir()
ディレクトリを同期する。
public
sync_dir(string $path_sync_from, string $path_sync_to) : bool
Parameters
- $path_sync_from : string
-
同期元ディレクトリ
- $path_sync_to : string
-
同期先ディレクトリ
Return values
bool —常に true
を返します。
trim_extension()
パス情報から、拡張子を除いたファイル名を取得する。
public
trim_extension(string $path) : string
Parameters
- $path : string
-
対象のパス
Return values
string —拡張子が除かれたパス