Php-files

提供:Dev Guides
移動先:案内検索

PHP-ファイルとI/O

この章では、ファイルに関連する以下の機能について説明します-

  • ファイルを開く
  • ファイルを読む
  • ファイルを書く
  • ファイルを閉じる

ファイルの開閉

PHPの* fopen()*関数は、ファイルを開くために使用されます。 最初にファイル名を指定し、次に操作モードを指定する2つの引数が必要です。

ファイルモードは、この表の6つのオプションのいずれかとして指定できます。

Sr.No Mode & Purpose
1

r

読み取り専用でファイルを開きます。

ファイルの先頭にファイルポインターを配置します。

2

r+

ファイルを読み取りおよび書き込み用に開きます。

ファイルの先頭にファイルポインターを配置します。

3

w

書き込み専用にファイルを開きます。

ファイルの先頭にファイルポインターを配置します。

そして、ファイルの長さをゼロに切り捨てます。 ファイルがそうでない場合

存在する場合、ファイルを作成しようとします。

4

w+

読み取りおよび書き込み専用にファイルを開きます。

ファイルの先頭にファイルポインターを配置します。

そして、ファイルの長さをゼロに切り捨てます。 ファイルがそうでない場合

存在する場合、ファイルを作成しようとします。

5

a

書き込み専用にファイルを開きます。

ファイルの末尾にファイルポインターを配置します。

ファイルが存在しない場合、ファイルを作成しようとします。

6

a+

読み取りおよび書き込み専用にファイルを開きます。

ファイルの末尾にファイルポインターを配置します。

ファイルが存在しない場合、ファイルを作成しようとします。

ファイルを開こうとして失敗すると、 fopenfalse の値を返します。

開いたファイルに変更を加えた後、* fclose()関数でファイルを閉じることが重要です。 * fclose()*関数は引数としてファイルポインターを必要とし、クロージャーが成功すると *true を返し、失敗すると false を返します。

ファイルを読む

  • fopen()関数を使用してファイルを開くと、 fread()*という関数で読み取ることができます。 この関数には2つの引数が必要です。 これらは、ファイルポインターとバイト単位で表されるファイルの長さでなければなりません。

ファイルの長さは、引数としてファイル名を取り、バイト単位で表されるファイルのサイズを返す* filesize()*関数を使用して見つけることができます。

PHPでファイルを読み取るために必要な手順は次のとおりです。

  • * fopen()*関数を使用してファイルを開きます。
  • * filesize()*関数を使用してファイルの長さを取得します。
  • * fread()*関数を使用してファイルのコンテンツを読み取ります。
  • * fclose()*関数でファイルを閉じます。

次の例では、テキストファイルのコンテンツを変数に割り当て、それらのコンテンツをWebページに表示します。

<html>

   <head>
      <title>Reading a file using PHP</title>
   </head>

   <body>

      <?php
         $filename = "tmp.txt";
         $file = fopen( $filename, "r" );

         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }

         $filesize = filesize( $filename );
         $filetext = fread( $file, $filesize );
         fclose( $file );

         echo ( "File size : $filesize bytes" );
         echo ( "<pre>$filetext</pre>" );
      ?>

   </body>
</html>

それは次の結果を生成します-

ファイルの読み取り

ファイルを書く

PHPの* fwrite()*関数を使用して、新しいファイルを作成したり、既存のファイルにテキストを追加したりできます。 この関数には、*ファイルポインタ*と書き込まれるデータの文字列を指定する2つの引数が必要です。 オプションで、書き込むデータの長さを指定するために、3番目の整数引数を含めることができます。 3番目の引数が含まれている場合、指定された長さに達すると書き込みが停止します。

次の例では、新しいテキストファイルを作成し、その中に短いテキストヘッダーを書き込みます。 このファイルを閉じた後、ファイル名を引数として取る* file_exist()*関数を使用して、その存在を確認します。

<?php
   $filename = "/home/user/guest/newfile.txt";
   $file = fopen( $filename, "w" );

   if( $file == false ) {
      echo ( "Error in opening new file" );
      exit();
   }
   fwrite( $file, "This is  a simple test\n" );
   fclose( $file );
?>
<html>

   <head>
      <title>Writing a file using PHP</title>
   </head>

   <body>

      <?php
         $filename = "newfile.txt";
         $file = fopen( $filename, "r" );

         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }

         $filesize = filesize( $filename );
         $filetext = fread( $file, $filesize );

         fclose( $file );

         echo ( "File size : $filesize bytes" );
         echo ( "$filetext" );
         echo("file name: $filename");
      ?>

   </body>
</html>

それは次の結果を生成します-

書き込みファイル

link:/php/php_file_system_functions [PHPファイルシステム関数]の章で、ファイルの入出力に関連するすべての関数をカバーしました。