PHPファイル処理の高度な応用 - ファイルポインタ
PHPはファイルポインタの位置決めとクエリを実現することができ、それによって必要な情報の高速なクエリを実現します。ファイルポインタ関数にはrewind()、fseek()、 feof() および ftell() 関数。
前回の記事「PHP ファイル処理の高度な応用 - リモート ファイル アクセスとファイルのロック」では、ファイルへのリモート アクセスとファイルのロック方法を紹介しましたので、まだ読んでいない方はぜひご覧ください。ここではあまり詳しく説明しません。今日は主にファイル ポインターの関数について説明します。
1: rewind() 関数
この関数は、ファイル ハンドルのポインターをファイル ストリームの先頭に設定します。この関数の構文形式は次のとおりです:
bool rewind ( resource $handle )
注: 。
ファイルの追加 (「a」) モードがオンになっている場合、ファイルに書き込まれたデータは、ファイル ポインターがどこにあるかに関係なく、常にファイルの既存のコンテンツの末尾に追加されます。
2: fseek() 関数
fseek() 関数は、ファイル ポインターの位置決めを実装します。 この関数の構文形式は次のとおりです:
int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )
handle パラメーターは、開かれるファイルです。 。
offset はポインターの位置、または whence パラメーターを基準としたオフセットであり、負の値にすることもできます。
の値には次の3種類があります:
1、位置はオフセットバイトに等しい。
2. SEEK_CUR、位置は現在位置にオフセット バイトを加えたものと等しくなります。
3. SEEK_END、位置はファイルの末尾にオフセット バイトを加えたものと等しくなります。
whence パラメーターを省略した場合、システムはデフォルトで SEEK_SET を使用します。
3: feof() 関数
この関数は、ファイル ポインターがファイルの最後にあるかどうかを判断します。 関数の構文は次のとおりです。
bool feof ( resource $handle )
ポインターがファイルの最後に到達すると、 true を返します。それ以外の場合は false を返します。
4: ftell() 関数
ftell() 関数は、現在のポインターの位置を返します。 この関数の構文形式は次のとおりです。
int ftell ( resource $handle )
以下は、上記 4 つのポインターの使用例です。ファイルの内容を出力する関数は次のとおりです:
<?php header("Content-Type:text/html; charset=utf-8"); $filename = "tm.txt"; //指定文件路径及文件名 if(is_file($filename)){ //判断文件是否存在 echo "文件总字节数:".filesize($filename)."<br>"; //输出总字节数 $fopen = fopen($filename,"rb"); // 打开文件 echo "初始指针位置是:".ftell($fopen)."<br>"; //输出指针位置 fseek($fopen,33); //制动指针 echo "使用fseek()函数后指针位置:".ftell($fopen)."<br>"; //输出制动后的指针位置 echo "输出当前指针后面的内容:".fgets($fopen)."<br>"; //输出从当前指针到行尾的内容 if (feof($fopen)){ //判断指针是否指向文件末尾 echo "当前指针指向文件末尾:".ftell($fopen)."<br>"; //如果指向了文件尾,则输出指针位置 rewind($fopen); //使用rewind()函数 echo "使用 rewind()函数后指针的位置:".ftell($fopen)."<br>"; //查看使用rewind()函数后指针的位置 echo "输出前33个字节的内容:".fgets($fopen,33); //输出前33个字节的内容 fclose($fopen); //关闭文件 }else{ echo "文件不存在"; } } ?>
出力結果は次のとおりです:
これで PHP ファイル処理の高度なアプリケーションの紹介は終わりです。 次に、PHP ファイルのアップロードを紹介します。詳細については、「php ファイルのアップロード - php.inn ファイルと定義済み変数 $_FILES を設定する」をご覧ください。
以上がPHP ファイル処理の高度なアプリケーション - ファイル ポインターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。