PHP-ファイルとI / O
この章では、ファイルに関連する以下の機能について説明します。
- ファイルを開く
- ファイルの読み取り
- ファイルの書き込み
- ファイルを閉じる
ファイルを開いたり閉じたりする
PHP fopen()関数はファイルを開くために使用されます。最初にファイル名を示し、次に操作するモードを示す2つの引数が必要です。
ファイルモードは、この表の6つのオプションの1つとして指定できます。
シニア番号 | モードと目的 |
---|---|
1 |
r 読み取り専用でファイルを開きます。 ファイルポインタをファイルの先頭に配置します。 |
2 |
r+ 読み取りと書き込みのためにファイルを開きます。 ファイルポインタをファイルの先頭に配置します。 |
3 |
w 書き込み専用でファイルを開きます。 ファイルポインタをファイルの先頭に配置します。 ファイルを長さゼロに切り捨てます。ファイルがない場合 存在する場合は、ファイルの作成を試みます。 |
4 |
w+ 読み取りおよび書き込み専用でファイルを開きます。 ファイルポインタをファイルの先頭に配置します。 ファイルを長さゼロに切り捨てます。ファイルがない場合 存在する場合は、ファイルの作成を試みます。 |
5 |
a 書き込み専用でファイルを開きます。 ファイルポインタをファイルの最後に配置します。 ファイルが存在しない場合は、ファイルの作成を試みます。 |
6 |
a+ 読み取りおよび書き込み専用でファイルを開きます。 ファイルポインタをファイルの最後に配置します。 ファイルが存在しない場合は、ファイルの作成を試みます。 |
ファイルを開こうとして失敗した場合は、 fopen の値を返します false それ以外の場合は、 file pointer これは、そのファイルのさらなる読み取りまたは書き込みに使用されます。
開いたファイルに変更を加えた後、でファイルを閉じることが重要です。 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つの引数が必要です。file pointer書き込まれるデータの文字列。オプションで、書き込むデータの長さを指定するために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>
次の結果が得られます-
PHPファイルシステム関数の章では、ファイルの入力と出力に関連するすべての関数について説明しました。