ファイル書き込み関数: file_put_contents()
FILE_USE_INCLUDE_PATH : ファイル名の組み込みパスを確認します copy
LOCK_EX :ファイルをロックします
FILE_APPEND : ファイルの末尾に移動します。それ以外の場合、ファイルの内容はクリアされます
構文:
int file_put_contents(file,data,mode,context)
int file_put_contents(file,data,mode,context)
参数 | 描述 |
---|---|
file | 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。 |
data | 可选。规定要写入文件的数据。可以是字符串、一维数组或数据流。 |
mode | 可选。如何打开/写入文件。可能值:FILE_USE_INCLUDE_PATH 、 FILE_APPEND 、 LOCK_EX |
context | 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
返回值:该函数将返回写入到文件内数据的字节数。
mode参数说明
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
读文件函数:file_get_contents()
语法:
string file_put_contents(path,include_path,context,start,max_length)
説明 | |
---|---|
は必須です。データを書き込むファイルを指定します。ファイルが存在しない場合は、新しいファイルが作成されます。 | |
はオプションです。ファイルに書き込むデータを指定します。文字列、1 次元配列、またはデータ ストリームを指定できます。 | |
はオプションです。ファイルを開く/書き込む方法。可能な値: FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX | |
オプション。ファイルハンドルの環境を指定します。 context は、ストリームの動作を変更できるオプションのセットです。 null が使用された場合、それは無視されます。 | |
戻り値: この関数は、ファイルに書き込まれたデータのバイト数を返します。 |
string file_put_contents(path,include_path,context,start,max_length)
🎜🎜🎜🎜🎜パラメータ🎜🎜説明🎜🎜🎜🎜🎜🎜パス🎜🎜は必須です。読み込むファイルを指定します。外部 URL にすることもできます🎜🎜🎜🎜include_path🎜🎜 オプション。 include_path 内のファイルも検索したい場合は、このパラメータを「1」に設定できます。 🎜🎜🎜🎜コンテキスト🎜🎜オプション。ファイルハンドルの環境を指定します。 🎜🎜🎜🎜開始🎜🎜オプション。ファイル内の読み取りを開始する位置を指定します。このパラメータは PHP 5.1 の新しいパラメータです。 🎜🎜🎜🎜max_length🎜🎜オプション。読み取るバイト数を指定します。このパラメータは PHP 5.1 の新しいパラメータです。 🎜🎜🎜🎜戻り値: 読み取られた文字列。 anotherが一般的に使用されているファイルfuncions
オープンに失敗した場合、この関数は FALSE を返します。
fopen() 関数はファイルまたは URL を開きます。
r: 読み取り、読み取りモード。
<?php $handle = fopen('./data.txt','r'); var_dump($handle); // resoure(3) of type (stream) 得到一个资源类型 ?>
ファイルハンドル読み込み関数 fread(),fgetc(),fgets(),feof();
1バイトデータ = fgetc(handle); //マルチの場合は文字化けするバイト文字
バイトが読み取られるたびに、ファイルポインタを 1 バイトずつ進めます。ハンドル操作では、ファイル ポインターに依存します。String = fgets(handle, length)
読み込み時に改行文字を先に読んだ場合も終了します。ライン読み上げ機能とも呼ばれます!典型的なロジックでは、各行に一連の情報が記録されます。この関数は最もよく使用されます。
feof() はファイルの終わりに達したかどうかを判断します
ファイルのすべての情報を読み取ります 例:
<?php $handle = fopen('./langref.txt','r'); while (! feof($handle)) { $line = fgets($handle,1024); echo $line . "</br>"; } ?>
String = fread(handle, length)
長さに基づいて内容を読み取ります。 fgets とは異なり、改行文字の影響を受けません。 制限事項
ファイルハンドル書き込み関数 fwrite($handle, content)
fseek(ハンドル、位置)、位置設定ポインタ、位置は0から始まり増加していきます!
ファイルの同時操作(ファイルロック)
最初にロックを追加し、ロックが正常に追加されたかどうかを確認し、成功した場合は再度使用します。
ロックの種類:
タイプ:
LOCK_SH 読み取りロック
<?php //*********脚本1,想要读取文件信息*********** //尝试加读锁 $lock_result= flock($handle, LOCK_SH); //判断锁定结果 if(!$lock_result){ die('锁定失败,不能操作文件'); } //文件操作 $str = fgets($handle, 1024); var_dump($str); sleep(5); echo '<br>'; $str = fgets($handle, 1024); var_dump($str); flock($handle, LOCK_UN);//解锁 ?> <?php //*********脚本2,想要往文件里写入信息*********** //尝试加写锁 $lock_result= flock($handle, LOCK_EX); //判断锁定结果 if(!$lock_result){ die('锁定失败,不能操作文件'); } //文件操作 $result = fwrite($handle, '123456'); flock($handle, LOCK_UN);//解锁 ?>
ロックが失敗したときにブロックしないようにするには、LOCK_NB を使用することができます。
Flock ($handle, LOCK_UN) でロックを強制的に解除し、
Fclose() で自動的にロックを解除します。
関連する推奨事項:
以上がPHPファイルの基本操作例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。