fopen
Home >> 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引数の最後に追加します。

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

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

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

サンプルスクリプト

簡単な利用例

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

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

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

<?php
$fp
= @fopen("test.php", "r");
while( !
feof( $fp ) ){
  echo
fgets( $fp, 9182 ) . "<br>";
}
fclose($fp);
?>