PHPファイルの扱い
fopen() 関數(shù)は、PHP でファイルを開(kāi)くために使用されます。
ファイルを開(kāi)く
PHP には、ファイルを作成して開(kāi)くために fopen() 関數(shù)が使用されます。 fopen() 関數(shù)を使用してファイルを開(kāi)くときに、ファイルが存在しない場(chǎng)合は、ファイルの作成が試行され、リソースが返されます。 オープンに失敗した場(chǎng)合、関數(shù)は FALSE を返します。
構(gòu)文
resource fopen (string $filename, string mode)
この関數(shù)の最初のパラメータには、開(kāi)かれるファイルの名前が含まれており、2 番目のパラメータは、ファイルを開(kāi)くために使用するモードを指定します。
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>ファイルは次のモードで開(kāi)くことができます:
モード説明
r 読み取り専用。ファイルの先頭から開(kāi)始します。
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); // 不能打開(kāi)指定文件的錯(cuò)誤信息: Unable to open file ?> </body> </html>ファイルを閉じます fclose() 関數(shù)は、開(kāi)いているファイルを閉じるために使用されます:
<?php $file = fopen("test.txt","r"); //執(zhí)行一些代碼 fclose($file); ?>
検出ファイルの終わり (EOF)
feof() 関數(shù)は、ファイルの終わり (EOF) に達(dá)したかどうかを検出します。
if (feof($file)) echo "End of file";
ファイルを一行ずつ読み込みます
fgets()関數(shù)は、ファイルから一行ずつファイルを読み込みます。
注: この関數(shù)を呼び出した後、ファイル ポインターは次の行に移動(dòng)します。 構(gòu)文string fgets( int handle [, int length] )
fgets() は、handle が指すファイルから行を読み取り、最大 length-1 バイトの長(zhǎng)さの文字列を返します。 改行文字 (戻り値に含まれる)、EOF、または長(zhǎng)さ 1 バイトの読み取り後に停止します。 長(zhǎng)さが指定されていない場(chǎng)合、デフォルトは 1K、つまり 1024 バイトになります。
例
次の例は、ファイルの終わりまでファイルを 1 行ずつ読み取ります:
<?php $file = fopen("welcome.txt", "r") or exit("無(wú)法打開(kāi)文件!"); // 讀取文件每一行,直到文件結(jié)尾 while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?>
ファイルを 1 文字ずつ読み取ります
fgetc() 関數(shù)は、ファイルから 1 文字ずつファイルを読み取るために使用されます。 。
注: この関數(shù)を呼び出した後、ファイル ポインターは次の文字に移動(dòng)します。
例
次の例では、ファイルの終わりまでファイルを 1 文字ずつ読み取ります:
<?php $file=fopen("welcome.txt","r") or exit("無(wú)法打開(kāi)文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
ファイル全體を読み取ります
fread() 関數(shù)を使用してファイルを読み取ります (バイナリで安全に使用できます)ファイル)。
構(gòu)文:
string fread( int handle, int length )
fread() は、ファイル ポインター ハンドルから最大 length バイトを読み取ります。ファイルの読み取りは、次のいずれかの條件が発生すると停止します。
最大 length バイトが読み取られたとき
ファイルの終わり (EOF) に到達(dá)したとき
(ネットワーク ストリームの場(chǎng)合) パケットが利用可能なとき
または (ユーザー空間ストリームを開(kāi)いた後) 8192 バイトが読み取られました
ファイルから 10 バイト (スペースを含む) を読み取ります:
<?php $filename = "test.txt"; $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
file_get_contents()
file_get_contents () 関數(shù)は、ファイル全體を文字列に変換し、成功した場(chǎng)合は文字列を返し、失敗した場(chǎng)合は FALSE を返します。
構(gòu)文:
string file_get_contents( string filename [, int offset [, int maxlen]] )
パラメータの説明:
パラメータ文字列 file_get_ ファイル名
offset オプションで指定します読み取りの開(kāi)始位置、デフォルトはファイルの開(kāi)始位置です
maxlen オプションで、読み込むファイルの長(zhǎng)さをバイト単位で指定します例:
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
fwrite()
fwrite() 関數(shù)は次の目的で使用されます。文字列をファイルに書(shū)き込み、正常に書(shū)き込まれた文字?jǐn)?shù)を返します。それ以外の場(chǎng)合は FALSE を返します。 構(gòu)文: int fwrite( resource handle, string string [, int length] )
fwrite() string の內(nèi)容をファイル ポインタ ハンドルに書(shū)き込みます。パラメータの説明: パラメータ
文字列に書(shū)き込まれるファイルポインタは、通常、
データ文字列を作成するFOPEN()関數(shù)によって作成されることを説明します。 length オプション。書(shū)き込まれる最大バイト數(shù)を指定します。 オプションのパラメータ length が指定されている場(chǎng)合、length バイトが書(shū)き込まれるか文字列が書(shū)き込まれると、書(shū)き込みは停止します。 例: プログラムと同じディレクトリで、file.txt ファイルの內(nèi)容を?qū)g行します。 こんにちは! 上記の例では、length パラメーターが使用されている場(chǎng)合、最大長(zhǎng)の文字列を書(shū)き込むことができます: echo fwrite($fh, $word, 4) // 出力: 4 ; file_put_contents() file_put_contents() 関數(shù)は、ファイルに文字列を書(shū)き込むために使用され、ファイルに正常に書(shū)き込まれたデータのバイト數(shù)を返し、失敗した場(chǎng)合は FALSE を返します。 構(gòu)文: int file_put_contents (string filename, string data [, int flags [, resource context]] ) パラメータの説明: パラメータデータを書(shū)き込む ファイル名 flags オプションで、ファイルを開(kāi)く/書(shū)き込む方法を指定します??赡埭蕚? FILE_USE_INCLUDE_PATH: ファイル名のコピーの組み込みパスを確認(rèn)します context オプション、Context はオプションのセットです。それを通じてテキスト屬性を変更できます<?php
// 要寫(xiě)入的文件名字
$filename = 'file.txt';
// 寫(xiě)入的字符
$word = "你好!";
$fh = fopen($filename, "w");
echo fwrite($fh, $word); // 輸出:6
fclose($fh);
?>
data 書(shū)き込むデータ書(shū)かれた。タイプは、文字列、配列 (ただし、多次元配列は不可)、またはストリーム リソースです。 <?php
echo file_put_contents("test.txt", "This is something.");
?>
18