fopen
そふぃのPHP入門 >> PHP関数リファレンス >> ファイルシステム関数 >> fopen

fopen

解説 ファイルまたはURLを開く
書式 resource fopen( string filename , string mode [, int use_include_path ] )
resource fopen( string ファイル名 , string モード [, int インクルードパス ] )
引数 filename ファイル名
mode ファイルを開くときのモード
use_include_path インクルードパスを検索するかどうか
返値 ファイルポインタ/FALSE(開くのを失敗した時)

PHPマニュアル:fopen fopen()

fopen()関数:概略解説

fopen()は指定したファイル、またはURLを開きます。

fopen()関数:返り値解説

成功した場合はファイルポインタを返します。失敗した場合はFALSEを返し、E_WARNINGレベルでエラーを発します。エラー制御演算子(@)が使用可能です。通常はこのファイルポインタを用いて、ファイル操作を行います。

fopen()関数:引数解説

filenameファイル名
開きたいファイルをパスでを指定します。
modeモード
ファイルを開くモードを指定します。指定できる値は後述します。

参考 fopen()関数で使用可能なモード

use_include_pathインクルードパス
インクルードパスを検索するかどうかのオプションで省略可能です。検索する場合はTRUEもしくは1を指定します。省略した場合は0またはFALSEが指定されたとみなし検索しません。

参考関数

  • fclose() ---- ファイルポインタを閉じる
  • fgets() ---- ファイルから1行取得する
  • fread() ---- ファイルをバイナリ・モードで読み込む
  • fwrite() ---- ファイルをバイナリ・モードで書き込む
  • fsockopen() ---- インターネットもしくはUNIXドメインのソケット接続を開始する
  • file() ---- ファイルの内容を全て取得して配列に格納する
  • file_exists() ---- ファイル、ディレクトリやシンボリックリンクが存在するか調べる
  • is_readable() ---- ファイルが読み込み可能かどうか調べる

fopen()関数で使用可能なモード

fopen()で使用可能なモードです。

fopen()関数で指定可能なモード
モード 説明
r 読み込みのみで開きます。ファイルポインタはファイルの先頭におきます。
r+ 読み書き可能な状態で開きます。ファイルポインタはファイルの先頭におきます。
w 書き込みのみで開きます。ファイルポインタはファイルの先頭におき、ファイルサイズをゼロにします。ファイルが存在しない場合は新規作成します。
w+ 読み書き可能な状態で開きます。ファイルポインタはファイルの先頭におき、ファイルサイズをゼロにします。ファイルが存在しない場合は新規作成します。
a 追加書き込みモードです。ファイルポインタをファイルの終端におき、ファイルが存在しない場合は新規作成します。
a+ 追加書き込み・読み取りが可能なモードです。ファイルポインタをファイルの終端におき、ファイルが存在しない場合は新規作成します。
x 書き込みのみで開きます。ファイルポインタはファイルの先頭におきます。ファイルが存在するとfopen関数は失敗し、E_WARNINGレベルのエラーを出力します。ファイルが存在しない場合は新規作成します。
x+ 読み込み・書き込みが可能なモードです。ファイルポインタはファイルの先頭におきます。ファイルが存在するとfopen関数は失敗し、E_WARNINGレベルのエラーを出力します。ファイルが存在しない場合は新規作成します。

Windows環境でバイナリファイルを開く場合には、モードに'b'または't'を追加します。't' は\nを\r\nに変換します。'b'は強制的にバイナリモードにします。このモードは第2引数の最後に追加します。

  1. $fp = fopen('filename', 'r+b');

Windows環境で、ファイルパスを指定する際はバックスラッシュ\の代わりにスラッシュ/を用いるか、バックスラッシュをエスケープします。

  1. $fp = fopen("c:\\foldername\\filename", "r");

サンプルスクリプト

簡単な利用例

  1. <?php
  2. $fp = fopen("sample.html", "r+");
  3. $fp = fopen('c:\foldername\testfile.gif', "wb");
  4. $fp = fopen("http://www.jp2.php.net/", "r");
  5. ?>

ファイルやURLを開くサンプルです。開いた後は$fpを使っていろいろな操作をします。

ファイルの内容をすべて出力

  1. <?php
  2. $fp = @fopen("test.php", "r");
  3. while( ! feof( $fp ) ){
  4.   echo fgets( $fp, 9182 ) . "<br>";
  5. }
  6. fclose($fp);
  7. ?>