Ext JSやRapid Driveなど
システム開発の技術情報をご紹介。

お問い合わせ 資料請求 無料見積り

お電話でお気軽にお問い合わせくださいTel 03-6805-2904 営業時間 [平日]AM 9:30 - PM 6:30

ファイル操作

ファイル操作について

ファイル

ファイルを開く

fopen()関数を使用して、マシン上にあるファイルを開くことができます。

  1. ローカルディスク(C:)直下に、ディレクトリを作成する。
    (今回はtemplateという名前のディレクトリを作成しています)
  2. 作成したディレクトリに、txtファイルを作成します。
    (今回はsample.txtという名前のtxtファイルを作成しています)
  3. 作成したtxtファイルに、好きな文言を入力します。
    (今回はtxtファイルに「sample.txtを表示します。」という文言を入力しています)
マシン上のテキストファイルを開く
<?php
    $file = fopen( "c:\template\sample.txt", "r" );
    fpassthru( $file );
?>

上記スクリプトでは、「fopen( "c:¥¥template¥¥sample.txt", "r" );」で指定したファイルを読込み専用で開き、「fpassthru( $file );」でブラウザに出力しています。また、ファイルがオープンに成功すると、注)「ファイルハンドル」が返されます。

fopen()関数の引数のmodeは、ファイルを開くタイプを指定します。

実行結果
sample.txtを表示します。
注)ファイルハンドルとは・・・

ファイルに関する命令の時、どのファイルに対して実行するか指示をするために、実ファイル名に対して処理用の名前(ファイルハンドル)を付け、それ以降ではそのファイルハンドル名に対して処理を指示します。これにより、実ファイルが変更になっても修正個所が少しで済みます。

fopen()関数の引数のモード
モード説明
a追記専用で開く(書き込みは末尾行から)
a+追記および読み込みができる(書き込みは末尾から)
r読み込み専用で開く
r+読み込みおよび書き込みができる(書き込みは先頭行から)
w書き込み専用で開く
w+読み込みおよび書き込みができる(現在のファイルの内容はすべて消される)
x書き込みのみで開く。注)ファイルポインタをファイルの先頭に置き、ファイルがすでに存在する場にはfopen()は失敗し、E_WARNINGレベルのエラーを発行する。なお、ファイルが存在しない場合には新規作成を試みる。
x+書き込みおよび読み込みで開く。注)ファイルポインタをファイルの先頭に置き、ファイルがすでに存在する場にはfopen()は失敗し、E_WARNINGレベルのエラーを発行する。
注)ファイルポインタとは・・・

ファイルの中で読み込みや書き込みを行う位置を表します。ファイルポイントが先頭で読み込みを開始すれば、ファイルの先頭から読み込みを行うことになります。先頭から書き込みを行うということは、既にファイルに何か書いてあっても、既存の内容を破棄してファイルの先頭から書き込みを行うことを意味します。また、ファイルポイントが最後とは、既存の内容の最後に追加として書き込みを行うことを意味します。

ファイルを閉じる

開いたファイルに対する操作を終えたら、fclose()関数を使ってファイルを閉じます。引数には、fopen()関数で取得したファイルハンドルを渡します。

fclose( filepointer );
ファイルを閉じる
<?php
    $file = fopen( "c:\template\sample.txt", "r" );
    fclose( $file );
?>

上記スクリプトに成功した場合ファイルが閉じられるので、ブラウザには何も出力されません。