ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイル読み込み機能の応用例_PHPチュートリアル
この記事では主にPHPファイル読み込み関数の応用例と、よく使われるファイルデータ読み込み関数の使い方と違いについて紹介していますので、必要に応じて参考にしていただけます。それに。
PHP ファイルの読み取り操作には、ファイルの書き込み操作よりも多くの PHP ファイル操作関数が含まれます。これらの関数については、コード例で詳しく紹介します。
テキスト ファイルに保存されたデータを読み取る方法には、主に次の 3 つのステップといくつかのファイル操作関数が含まれます。
1. ファイルを開きます(ファイル操作関数:fopen)2. ファイルデータの読み込み(ファイル操作関数:fgets、file、readfile、feofなど)
3. ファイルを閉じる(ファイル操作関数:fclose)
以下では、引き続き PHP ファイルの読み取りおよび書き込み操作コードの例を使用して、ファイル読み取りメソッドの具体的なアプリケーションを説明します。この例では、さまざまな PHP ファイル読み取り操作関数を呼び出してテキスト ファイル内のデータを読み取ることで、さらに詳しく説明します。 PHP ファイルの読み込み操作 PHP Web サイト開発に合理的に適用するための機能の理解。テキスト ファイルに書き込まれるデータは、PHP ファイルの読み取りおよび書き込み操作に関するファイル書き込みチュートリアルから取得されます。fopen 関数のファイル読み取りおよび書き込みモードについては、この記事も参照してください。
PHPファイル読み込みオペレーションコード例
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
$readFun = "恐怖"; スイッチ ($readFun) { ケース「fgetss」: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); $allowable_tags = " ";ながら (!feof($fp)) { $output = fgetss($fp,100,$allowable_tags); echo $output; } fclose($fp); 休憩; ケース「fgetcsv」: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); ながら (!feof($fp)) { $output = fgetcsv($fp,100,"t"); print_r($output); } fclose($fp); 休憩; ケース「読み取りファイル」: echo readfile("leapsoulcn.txt"); 休憩; ケース「fpassthru」: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); if(!fpassthru($fp)) 終了(); fclose($fp); 休憩; ケース「ファイル」: $output = file("leapsoulcn.txt"); print_r($output); 休憩; ケース「fgetc」: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); ながら (!feof($fp)) { $str = fgetc($fp); echo ($str == "n"?" ":$str); } fclose($fp); 休憩; ケース「恐怖」: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); エコー フレッド($fp,300); fclose($fp); 休憩; デフォルト: @$fp = fopen("leapsoulcn.txt","r") または die("システム エラー"); ながら (!feof($fp)) { $output = fgets($fp,100); echo $output; } fclose($fp); 休憩; } ?> |
注: 上記の例では、$readFun に値を割り当てることで、さまざまな PHP ファイル読み取りメソッドを呼び出すことができます。関連する PHP ファイル読み取り操作関数には、fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc およびその他の関数が含まれます。
PHPファイル読み込み操作関数fgets、fgetss、fgetcsvの違い
コード例では、デフォルトのPHPファイル読み込み操作関数はfgetsとなっており、fgetss関数とfgetcsv関数の機能はどちらもファイルの最後まで1行ずつ読み込みます。ここでは、テキスト ファイルで読み込むデータ長を 100 に設定します。つまり、最大読み出し長は 99 (100-1) になります。このように、改行文字 n またはファイルの終わり文字 EOF に遭遇すると、次のようになります。または 99 がファイルから読み取られます。バイトに達したらデータの読み取りを停止します。 fgets 関数は、ファイルから読み取られたデータを文字列型で返します。
fgetss 関数は、PHP および HTML タグを削除し、3 番目のパラメータを渡すことで不要なデータをフィルタリングできます。これにより、たとえば、ユーザーの入力データをゲストブックでフィルタリングできます。 fgetss 関数のプロトタイプは以下の通りです:
string fgetss(resource fp,int length, string[optional] allowed_tags)
allowable_tagsパラメータはオプションです。Leapsoulcn.txtファイルにhtmlタグ、bodyタグ、h1タグを含むテキスト行を事前に記述し、コード内ではh1タグのみが出現できるように設定しています。
fgetcsv 関数は、fgets の別の変形です。違いは、テキスト ファイルに書き込まれたデータに区切り文字が使用されている場合、fgetcsv を使用して 1 行を複数の行に分解できるという点です。プロトタイプは関数です。は次のとおりです:
配列 fgetcsv(リソース fp,int 長, 文字列[オプション]区切り文字,文字列[オプション]エンクロージャ)
区切り文字は任意です 先ほどファイルに書き込むデータに t を使用したので、ファイル読み込み関数 fgetcsv で区切り文字として t を使用し、 fgetcsv が返した配列構造を print_r で出力しました。
3つのPHPファイル読み込み操作関数fgets、fgetss、fgetcsvに共通するのは、fopen関数を使って読み込んだファイルを事前にオープンし、同時にfeof関数を使ってファイルが読み込まれているかどうかを判定する必要があることです。ポインタがファイルの末尾に到達した場合は、fclose 関数がファイルを閉じた後に必ず使用してください。
fgetc: 1 文字を読み取ります
コード例では、文字を読み取るために fgetc 関数を使用しています。n 個の文字が見つかった場合、それらの文字は html ファイル内の br タグに変換され、特定の改行効果が表示されます。もちろん、この関数の効率は明らかに比較的低いため、その使用はお勧めできません。
PHPファイル読み込み操作関数readfile、fpassthru、fileの違い
3つの関数に共通するのは、一度に1行や1文字を読み取るのではなく、ファイル全体を一度に読み取ることができることです。違いは次のとおりです:
readfile関数はファイルを開き、ブラウザに直接出力するファイルの内容を返します。fopen関数と同様に、関数の戻り値はファイル内の合計文字数です。readfile関数の2番目のパラメータはオプションであり、それを示します。 PHP が include_path 内のファイルを検索するかどうか。コード例では、読み取ったファイルの内容を出力するために echo ステートメントを使用していますが、読み取ったファイルの内容は readfile 関数によって自動的に出力されています。プロトタイプは次のとおりです:
int readfile(string filename,int[optional] use_include_path)
file 関数は、ファイルを読み取るもう 1 つの方法で、読み取ったファイルの内容を 1 行に 1 つの配列単位で送信します。ファイル関数のプロトタイプは次のとおりです:
配列ファイル(文字列ファイル名,bool[オプション] use_include_path)
fpassthru()関数は、ファイルポインタにある残りのデータをすべて出力するために使用されます。つまり、ファイルポインタが先頭にない場合は、ファイルポインタの後のデータのみを出力します。この関数は、指定されたファイル ポインターを現在位置から EOF まで読み取り、結果を出力バッファーに書き込みます。戻り値は出力された文字数です。エラーが発生した場合はFALSEが返されます。 readfile() 関数と比較して、 fpassthru() 関数は最初にファイルを開き、データを読み取った後にファイルを閉じる必要があります。
freadとfile_exists、filesize関数
fread 関数は、ファイルを読み取る方法でもあり、長さに合わせて、またはファイルの終わりまで、ファイルから任意のバイトを読み取ることができます。読み取り関数のプロトタイプは次のとおりです:
string fread(resource fp,int length)
fread 関数を使用する際、ファイル内のすべてのデータを読み取りたいが、ファイルのデータ長がわからない場合、filesize 関数を使用するとこの問題を解決できます。
?
1 2 3 4 5
|
@$fp = fopen("leapsoulcn.txt","r") または die("システムエラー"); echo fread($fp,filesize("leapsoulcn.txt")); fclose($fp); ?>
|
1 2 3 4 5 6 |
if(file_exists("leapsoulcn.txt")) { //PHPファイルの読み書き操作を実行します } ?> |
上記では、PHP がファイルの内容を読み取るためのさまざまな方法を紹介しました。PHP のファイル読み取りおよび書き込み操作関数を合理的に適用することで、簡単なゲストブック、Web サイトのログ記録などの機能を実現できます。
注< >: さらにエキサイティングなチュートリアルについては、Bangke Homeプログラミング に注目してください。 。