PHPのfopen()関数とは?構文・モード一覧・使い方をわかりやすく解説
fopen()関数は、PHPでファイルまたはURLを開くための組み込み関数です。ファイル操作の入り口となる重要な関数で、処理に失敗した場合はFALSEを返し、エラーを出力します。エラー表示を非表示にしたい場合は、関数名の前に「@」を付けてください。
構文
fopen(file_path, mode, include_path, context)
パラメータ
file_path − 開きたいファイルへのパスを指定します。
mode − ファイルへのアクセス方式(モード)を指定します。主なモードは以下のとおりです。
- "r" − 読み込み専用。ファイルポインタはファイルの先頭に置かれます。
- "r+" − 読み書き両用。ファイルポインタは先頭に置かれます。
- "w" − 書き込み専用。既存ファイルの中身を空にしてから開きます。ファイルが存在しない場合は新規作成されます。
- "w+" − 読み書き両用。既存ファイルの中身を空にしてから開きます。ファイルが存在しない場合は新規作成されます。
- "a" − 追記専用。ファイルの末尾に書き込みを行います。ファイルが存在しない場合は新規作成されます。
- "a+" − 読み書き両用(追記モード)。ファイルの内容を保持したまま、末尾に追記できます。
- "x" − 書き込み専用で新しいファイルを作成します。同名のファイルがすでに存在する場合はFALSEを返し、エラーとなります。
- "x+" − 読み書き両用で新しいファイルを作成します。同名のファイルがすでに存在する場合はFALSEを返し、エラーとなります。
include_path − 「1」に設定すると、php.ini で定義された include_path の中もファイル検索の対象に含めます。
context − ファイルポインタに対するストリームコンテキストを指定します。
戻り値
fopen()関数は、成功時にファイルポインタリソースを返します。失敗した場合にはFALSEを返し、エラーを出力します。エラー出力を非表示にしたい場合は、関数名の先頭に「@」を付与してください。
ここでは、以下の内容が書かれた「new.txt」というファイルが存在するものとして説明します。
The content of the file!
それでは、具体的な使用例を見ていきましょう。
例1:r+モードでファイルを読み込む
<?php
// 読み書きモード
$file_pointer = fopen("new.txt", 'r+')
or die("File does not exist");
$res = fgets($file_pointer);
echo $res;
fclose($file_pointer);
?>
出力結果
The content of the file!
次に、「one.txt」を使った別の例を紹介します。
例2:w+モードで書き込みと読み出しを行う
<?php
// 読み書きモード
$file_pointer = fopen("one.txt", "w+");
// ファイルへ書き込み
fwrite($file_pointer, 'demo content');
echo fread($file_pointer, filesize("new.txt"));
fclose($file_pointer);
?>
出力結果
demo content
-
PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説
PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用
-
PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説
PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値