ファイル・ディレクトリ:PHPリファレンス
ファイル・ディレクトリに属するゴルフ用語を紹介しています。
basename()
basename関数はパスからファイル名を取得します。2番目のパラメータに、ファイル名の後ろから削除したい文字列を指定することが可能です。ファイル名から拡張子を削除した部分を取り出す際に利用することもできます。
chdir()
chdir関数はカレントディレクトリを変更します。ファイルをインクルードする前に格納先を設定しておくなどの用途があります。
clearstatcache()
clearstatcache関数はファイルステータスのキャッシュをクリアします。stat関数などでファイルについての各種情報を取得すると、取得した内容はキャッシュされていくため、最新の情報を取得するときなどにclearstatcache関数を利用しキャッシュをクリアします。
closedir()
closedir関数はopendir関数により開かれたディレクトリを閉じます。
copy()
copy関数はファイルをコピーします。コピー先のファイルが存在する場合は上書きされ、また、コピー対象にはURLを指定することも可能です。
dir()
dir関数はディレクトリオブジェクトを作成します。オブジェクトを作成してディレクトリの操作が可能です。また他のディレクトリ関数と組み合わせて使用することもできます。
dirname()
diename関数はパスからディレクトリ名を取得します。パスが指しているファイルなどのディレクトリを返します。
fclse()
fclose関数はfopen関数やfsockopen関数で正常に開けられたファイルを閉じます。
feof()
feof関数はファイルポインタが終端(EOF:End Of File)に達したかをどうかを調べます。while文の終了条件によく使われます。これはファイルのデータを1行ずつ読み込んでいく処理で、最後の行まで処理した際に、それらの処理を終了するための条件記述です。
fgetcsv()
fgetcsv関数はファイルからデータを1行読み込み、区切られた項目に分割した配列を返します。CSVファイルのように各項目がカンマで区切られたファイルを処理するときに使用します。読み込んだ各行の区切り文字とフィールド値の囲み文字も指定が可能です。読み込む長さが1行の文字数より短い場合は全フィールドが処理されなくなるため、1行文字数より長い値を指定します。
fgets に動作は似ていますが、 fgetcsvは行を CSV フォーマットのフィールドとして読込み処理を行い、 読み込んだフィールドを含む配列を返すという点で違います。
fgets()
fgets関数は指定されたファイルから1行読み込みます。読み込む長さが指定された場合、最大で(指定の長さ-1)バイト、または改行文字やファイルの終盤(EOF)に達する部分までを返します。
この2番目の長さパラメータはPHP4,2,0で省略可能となり、PHP4,3,0以降は、省略時に行末までを読み込むようになりました。
file()
file関数はファイル全体を読み込んで配列に格納します。作成される配列は、1行のデータがひとつの要素として格納された配列です。つまり、読み込んだ行数の要素を持つ配列が作成されます。2番目のパラメータでTRUEを指定するとインクルードディレクトリに設定されたディレクトリも検索されます。
ファイルを開いてロックして閉じるという一連の手続きを記述する必要がなく、また使い勝手が非常に良いということからも人気が高いため、ちょっとしたデータを読み込む用途では多くのソフトで利用されています。
file_exists()
file_exists関数はファイルが存在するかどうかを調べる場合に使用します。多くの場合はif文と一緒に使用され、「...が存在する場合は...する」のように、ファイルの有無に応じた処理の分岐を行うときに使われます。
ファイルの有無に応じた処理の活用例として、ファイルのキャッシュ処理があります。キャッシュとして作成されたファイルが既存する場合は、自動的にページを生成せずにキャッシュファイルをクライアントに送信、存在しない場合はキャッシュファイルを新たに作成して次回以降のアクセスに備えるという使用法です。
file_get_contents()
file_get_contents関数はファイル全体を読み込んで文字列で返します。読み込んだデータを配列にセットするfile関数と似ていますが、違いとしてはfile_get_contents関数はファイル全体を文字列として返すということがあげられます。
filemtime()
filemtime関数はファイルのブロックデータが書き込まれた時間をタイムスタンプで返します。これは、ファイルの内容更新された際の時間です。リモートファイルの更新時刻は取得できません。
filesize()
filesize関数はファイルのサイズをバイト単位で返します。ファイルを読み込む際に、サイズを指定したいようなときに使用することができます。filesize関数ではリモートファイルのサイズは取得ができません。
flock()
flock関数はファイルロックを行います。ファイルのデータを読み込む場合は共有ロック、書き込む場合は排他ロックなど、用途に応じた操作設定を指定してロックします。NFSなどのネットワークファイルシステムでは作動しません。
fopen()
fopen関数は指定されたファイルを開きます。「http://」などのスキームで始まるURLを指定することでURLを開くことも可能です。
fread()
fread関数はfopen関数 で開いたファイルをバイナリモードで読み込みます。画像などを読み込みたいときに使用することが可能です。指定された長さを読み込むか、ファイルの終端に達するまで読み込まれます。
fseek()
fseek関数はファイルポインタを移動します。3番目のパラメータを指定しなければ、2番目のパラメータで指定した位置へ移動します。3番目のパラメータには、どのように移動させるかを指定可能です。
ftell()
ftell関数はファイルポインタの位置を取得します。ftruncate関数と組み合わせることで、現在のファイルポインタ以降のデータを削除する等の活用ができます。
ftruncate()
ftruncate関数はファイルを指定したサイズに縮小します。サイズに「0」を指定してファイルを空にするという用途もありあます。
fwrite()
fwrite関数はファイルにデータを追加します。バイナリデータを扱うことも可能です。書き込む長さを指定する場合は、追加する文字列のうちの指定サイズ分が書き込まれます。
※fputs関数はfwrite関数の別名。
getcwd()
getcwd関数は現在作業中のディレクトリである、カレントディレクトリ(カレントワーキングディレクトリ)を取得します。
is_dir()
is_dir関数は、指定されたパラメータがディレクトリかどうかを調べるときに使用します。指定されたディレクトリが実在すればTRUEが返されます。ディレクトリの存在を確認してから各種処理を行いたいときに使われます。この関数はリモートファイルを調べることはできません。
is_file()
is_file関数は、指定されたパラメータがファイルかどうかを調べるときに使用します。実際に存在するファイルの場合にはTRUEが返されます。is_file関数はリモートファイルを調べることはできません。
is_readable()
is_readable関数は、指定されたファイルが読み込み可能かどうか調べるときに使用します。実際に存在するファイルで読み込み可能の場合はTRUEが返されます。is_readable関数はリモートファイルを調べることはできません。
is_uploaded_file()
is_uploaded_file関数は、指定されたファイルがアップロードされたものかどうかを調べるときに使用します。
is_writable()
is_writable関数は、指定されたファイルやディレクトリが書き込み可能かどうか調べるときに使用します。実際に存在するファイルで書き込み可能の場合にはTRUEが返されます。この関数はリモートファイルを調べることはできません。
※is_writeable関数はis_writable関数の別名。
mkdir()
mkdir関数はディレクトリを作成します。2番目のパラメータを省略した場合はアクセス権は「0777」がセットされます。アクセス権は8進法で指定します。先頭にゼロを付ける必要があることに注意してください。ディレクトリが既に存在する場合はディレクトリ作成は失敗します。
move_uploaded_file()
move_uploaded_file関数は指定されたファイルがアップロードされたファイルかどうか調べて、アップロードされたファイルの場合は指定されたファイルへ移動します。コピー先のファイルが存在する場合は上書きします。
opendir()
opendir関数はディレクトリハンドラを開きます。PHP5,0,0では「ftp://」によるFTP接続も可能です。
readdir()
readdir関数はディレクトリ内のファイル名を読み込みます。ファイルを扱いたい場合はwhile文との組み合わせでのループ処理がよく使用されます。readdir関数は、開いたディレクトリから次のファイル名を読み込んでファイル名を返します。論理値に変換するとTRUEとして使用可能なため、FALSEになるまで処理を続けるという条件でwhile文が使用されます。
ただし、「0」という名前のディレクトリがある場合は論理値に変換するとFALSEであるとみなされ、意図しない動作となる可能性があるので注意が必要です。
readfile()
readfile関数はファイル全体を読み込んでその全てを出力します。ファイルの内容を取得して処理する目的ではなく、画像などのようにそのまま出力するときに使用されます。2番目のパラメータでTRUEを指定するとインクードディレクトリに設定されたディレクトリも検索することができます。
ファイル全体を読み込む点ではfile関数と同じですが、readfile関数は結果を出力するのに対して、file関数は戻り値を配列に返す点で異なります。人気の面から見ると圧倒的にfile関数に軍配があがります。ファイルの内容を一気に出力してしまうreadfile関数より、配列に格納して後続の処理で使用するfile関数のほうが使い勝手がよいからでしょう。
realpath()
realpath関数は、指定されたパスの絶対パスを取得します。
rename()
rename関数はファイル名を変更します。変更元のファイルが存在しない、新たなファイルが既存していた、などのエラーが発生した場合はFALSEを返します。
rewind()
rewind関数はファイルポインタを先頭に移動させます。ファイルの先頭から再度処理したいようなときに使用することができます。
rmdir()
rmdir関数はディレクトリを削除します。指定したディレクトリが存在しない場合や、空になっていない場合はエラーが発生します。
stat()
stat関数は指定されたファイル情報を取得します。返される配列は前半が数値インデックス、後半が文字列インデックスで同じ内容がセットされます。つまり、「0」~「12」のインデックスまたは文字列インデックスを使用して参照することができます。
tempnam()
tempnam関数はユニークな名前でテンポラリファイルとして使えるファイル名を作成します。PHP4,0,3以降のバージョンでは、実際にファイルも作成され、環境変数が設定されている場合は、そのディレクトリにファイルが作成されます。その場合は、tempnam関数を呼び出すときに指定したディレクトリにファイルは作成されません。
touch()
touch関数は指定されたファイルの最終更新時刻をセットします。時刻が省略された場合は現在の時刻がセットされます。存在しないファイル名が指定された場合は新たに作成します。アクセス時刻は常に変更されることに注意が必要です。
unlink()
unlink関数は指定されたファイルを削除します。ファイルが存在しない場合や、読み取り専用の場合などは失敗してFALSEが返されます。PHP5,0,0以降ではFTP接続でファイルを削除することができます。