3ヶ月10万円で受講できる転職特化型Ruby実践研修【ポテパンキャンプ】
この章では、ファイルに関連する以下の機能について説明します。
- ファイルを開く
- ファイルの読み込み
- ファイルの作成
- ファイルを閉じる
ファイルのオープンとクローズ
PHPのfopen()関数は、ファイルを開くために使用されます。最初にファイル名を指定し、次に操作するモードを示す2つの引数が必要です。
ファイルモードは、この表の6つのオプションの1つとして指定できます。
モード | 目的 |
---|---|
r | 読み取り専用のファイルを開きます。
ファイルポインタをファイルの先頭に置きます。 |
r + | 読み書きのためにファイルを開きます。
ファイルポインタをファイルの先頭に置きます。 |
w | 書き込み専用のファイルを開きます。
ファイルポインタをファイルの先頭に置きます。 ファイルを長さゼロに切り捨てます。ファイルがない場合 それが存在すると、ファイルを作成しようとします。 |
w + | 読み書き専用のファイルを開きます。
ファイルポインタをファイルの先頭に置きます。 ファイルを長さゼロに切り捨てます。ファイルがない場合 それが存在すると、ファイルを作成しようとします。 |
a | 書き込み専用のファイルを開きます。
ファイルポインタをファイルの最後に置きます。 ファイルが存在しない場合、ファイルを作成しようとします。 |
a + | 読み書き専用のファイルを開きます。
ファイルポインタをファイルの最後に置きます。 ファイルが存在しない場合、ファイルを作成しようとします。 |
ファイルを開こうとする時、失敗すると、fopenはfalseの値を返します。それ以外の場合は、ファイルの読み込みや書き込みに使用されるファイルポインタを返します。
開いたファイルを変更した後は、fclose()関数を使ってファイルを閉じることが重要です。fcloseを()関数は、引数としてファイルポインタを必要としてから返します真の閉鎖が成功した場合、または虚偽、それが失敗した場合。
ファイルの読み込み
fopen()関数を使用してファイルを開くと、fread()という関数で読み込むことができます。この関数には2つの引数が必要です。これらはファイルポインタでなければならず、ファイルの長さはバイト単位で表されます。
ファイルの長さは、引数としてファイル名をとり、バイト単位で表されるファイルのサイズを返すfilesize()関数を使用して見つけることができます。
PHPでファイルを読むために必要な手順は次のとおりです。
- fopen()関数を使ってファイルを開きます。
- filesize()関数を使用してファイルの大きさを取得します
- fread()関数を使用してファイルの内容を読み込みます。
- fclose()関数でファイルを閉じます。
次の例では、テキストファイルの内容を変数に割り当て、その内容をWebページに表示します。
<html> <head> <title>PHPのファイル読み込みの例</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "ファイルが違います" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "ファイルサイズ : $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 ( "ファイルが違います" ); 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 ( "ファイルが違いますe" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "ファイルサイズ : $filesize bytes" ); echo ( "$filetext" ); echo("ファイルネーム: $filename"); ?> </body> </html>
次のページ⑮PHP関数