PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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
  1. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用

  2. PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

    PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値