【ファイルシステム関数】よく使うファイルに対する関数のまとめ

ファイルシステム関数

ファイル操作に関して使用する関数の内、良く使うモノをまとめました。

fopen ファイルを開く(モードを指定)
戻り値はファイルハンドル:resource型
参照
fclose 開いたファイルを閉じます
取り値はTRUE/FALSE
参照
fwrite ファイルに書き込みを行う 参照
fputs fwriteとまったく同じ機能を持った関数(エイリアス:別名 参照
flock ファイルへの同時書き込みを制御する為にロックをかける
ロックモードを指定
参照
fgetcsv 指定された区切り文字で分割した値を配列として返す 参照
fgets 指定されたファイルから1行文のデータを読み込む
読み込んだデータの分割処理はしない(≠fgetcsv)
参照
file 指定されたファイルをまとめて読み込み行単位に格納した配列を返す 参照
file_get_contents ファイルの内容を文字列としてまとめて読み込む 参照

オープンモード

fopenの際のモードについて(第二引数)

rb 読み込み専用
r+b 読み込み/書き込み可能
wb 書き込み専用
ファイルお内容をクリア、存在しなければ作成
w+b 読み込み/書き込み可能
ファイルの内容をクリア、存在しなければ作成
ab 書き込み専用
既存ファイルに追記、無ければ作成
a+b 読み込み/書き込み可能
既存ファイルに追記無ければ作成
xb 書き込み専用
ファイルが存在する場合はエラー
x+b 読み込み/書き込み可能
ファイルが存在する場合はエラー

※bはバイナリファイルの意味なので不要の場合もあるが、まず付けておくのが定石

ロックモード

flockの際のモードについて(第二引数)

LOCK_SH 共有ロック
他者の書き込みを禁止
LOCK_EX 排他ロック
他者の読み書きを禁止
LOCK_UN ロックの解除
LOCK_NB 非ブロックモード

※fclose関数でも自動的にロックは解除される

※fcloseも無くともスクリプトの終了時点で自動的にファイルクローズ、ロック解除が行われる

ファイルシステム関数のパラメータ

ファイルシステム関数の挙動を制御する為にphp.iniファイルで設定可能なパラメータの一例。思った通りの挙動にならない時などは確認の必要が出てくる。

allow_url_fopen

サーバーローカル外のファイルを指定するようなパスを使用する場合(http://~,ftp://~)はOnに設定しておく必要がある。

open_basedir

スクリプトからアクセスできるファイルパス(パスのプレフィックス)を指定する

include_path

ファイルの検索先を設定する(優先順の複数指定可能)

但しfopen関数で有効にする場合は第三引数にTRUEを渡す必要がある

  • このエントリーをはてなブックマークに追加
スポンサーリンク
スポンサーリンク