ホームページ  >  記事  >  バックエンド開発  >  PHPファイルの読み書き操作のファイル読み込み方法を詳しく解説_PHPチュートリアル

PHPファイルの読み書き操作のファイル読み込み方法を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:32:15853ブラウズ

PHP ファイルの読み取り操作には、ファイルの書き込み操作よりも多くの PHP ファイル操作関数が含まれます。これらの関数については、コード例で詳しく紹介します。
テキストファイルに格納されたデータを読み取る方法には、主に次の 3 つのステップといくつかのファイル操作関数が含まれます:
1. ファイルを開きます (ファイル操作関数: fopen)
2. ファイルデータを読み取ります (ファイル操作関数: fgets、file 、 readfile、feofなど)
3. ファイルを閉じる(ファイル操作関数: fclose)

以下では、引き続きPHPファイルの読み取りおよび書き込み操作のコード例を使用して、ファイル読み取りメソッドの具体的なアプリケーションを説明します。別の PHP ファイル読み込みを呼び出す テキストファイル内のデータを読み込む操作関数を取得する PHP ファイル読み込み操作関数について理解を深め、PHP Web サイト開発に合理的に適用できます。テキスト ファイルに書き込まれるデータは、PHP ファイルの読み取りおよび書き込み操作に関するファイル書き込みチュートリアルから取得されます。fopen 関数のファイル読み取りおよび書き込みモードについては、この記事も参照してください。
PHPファイル読み込み操作コード例

コードをコピー コードは以下の通りです:

$readFun = "fread"
{
case "fgetss"; @$ fp = fopen("leapsoulcn.txt","r") または die("システム エラー");
$allowable_tags = "

"; = fgetss ($fp,100,$allowable_tags);
echo $output;
fclose($fp);
case "fgetcsv":
@$fp = fopen("leapsoulcn.txt"); ") または die("システム エラー");
while (!feof($fp)) {
$output = fgetcsv($fp,100,"t");
print_r($output);
}
fclose( $fp );
case "readfile":
echo readfile("leapsoulcn.txt");
case "fpassthru":
@$fp = fopen("leapsoulcn.txt");または die ("システムエラー");
if(!fpassthru($fp))
fclose($fp);
case "ファイル":
$output = file("leapsoulcn.txt") ") ;
print_r($output);
break;
case "fgetc":
@$fp = fopen("leapsoulcn.txt","r") または die("システム エラー");
while (!feof ($ fp)) {
$str = fgetc($fp);
echo ($str == "n"?"
":$str);ブレーク;
case "fread":
@$fp = fopen("leapsoulcn.txt","r") または die("システムエラー");
fclose($fp); ;
ブレーク;
デフォルト:
@$fp = fopen("leapsoulcn.txt","r") または die("システムエラー");
$output = fgets( $fp ,100);
echo $output;
fclose($fp);
?>


注: に値を代入することで、別の PHP ファイルを読み取ることができます。 $readFun。fetch メソッドを呼び出す場合、関連する PHP ファイル読み取り操作関数には、fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc およびその他の関数が含まれます。
PHPファイル読み込み操作関数fgets、fgetss、fgetcsvの違い
コード例ではデフォルトのPHPファイル読み込み操作関数はfgetsとなっていますが、fgetss関数、fgetcsv関数の機能はどちらもfgetsと同じです。ファイルの最後まで 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 行を複数の行に分解できるという点です。プロトタイプは関数です。は次のとおりです




コードをコピーします

コードは次のとおりです:
array fgetcsv(resource fp,int length, string[optional] delimiter,string[optional] enclosure)
delimiter はオプションです。以前にファイルに書き込むデータに t を使用したため、この例では、ファイル読み取り関数 fgetcsv で t を区切り文字として使用し、 fgetcsv によって返された配列構造を print_r を通じて出力しました。
3つのPHPファイル読み込み操作関数fgets、fgetss、fgetcsvに共通するのは、fopen関数を使って読み込んだファイルを事前にオープンし、同時にfeof関数を使ってファイルが読み込まれているかどうかを判定する必要があることです。ポインタがファイルの末尾に到達した場合は、fclose 関数がファイルを閉じた後に必ず使用してください。
fgetc: 単一文字を読み取る
fgetc 関数は、文字を読み取るために使用されます。コード例では、n 個の文字が見つかったときに、それらの文字を html ファイル内の br タグに変換します。特定の行折り返し効果はブラウザで表示できます。もちろん、この機能の効率は明らかに低いため、使用はお勧めできません。
PHPのファイル読み取り操作関数readfile、fpassthru、fileの違い
3つの関数に共通するのは、一度に1行、1文字ずつ読み取るのではなく、ファイル全体を一度に読み取ることができることです。違いは、
readfile 関数は、ファイルを開き、ファイルの内容を返し、ブラウザに直接出力します。 fopen 関数と同様に、関数の戻り値は、readfile 関数の 2 番目のパラメータの合計です。はオプションで、PHP を include_path に含める必要があるかどうかを示します。 でファイルを検索します。コード例では、echo ステートメントを使用して、読み取ったファイルの内容を出力するのではなく、読み取ったファイルの合計文字数を出力します。これは、readfile 関数によって自動的に出力されることを意味します。 readfile 関数のプロトタイプは次のとおりです:
コードをコピーします コードは次のとおりです:

int readfile(string filename,int[optional] use_include_path)

file 関数は、次の別の方法です。ファイルの読み取り 取得されたファイルの内容は、1 行に 1 つの配列単位で配列に送信されます。ファイル関数のプロトタイプは次のとおりです:
コードをコピー コードは次のとおりです:
array file(string filename,bool[optional] use_include_path)

残りのすべてのデータを出力するために fpassthru() 関数が使用されますファイル ポインタで、つまりファイル ポインタが先頭にない場合は、ファイル ポインタの後のデータのみを出力します。この関数は、指定されたファイル ポインターを現在位置から EOF まで読み取り、その結果を出力バッファーに書き込みます。戻り値は出力された文字数です。エラーが発生した場合はFALSEが返されます。 readfile() 関数と比較して、 fpassthru() 関数は最初にファイルを開き、データを読み取った後にファイルを閉じる必要があります。
Fread と file_exists、filesize 関数
fread 関数も、ファイルの長さに合わせて、またはファイルの終わりまで、ファイルから任意のバイトを読み取ることができます。 read関数のプロトタイプは以下のとおりです:
コードをコピーします コードは次のとおりです:
string fread(resource fp, int length)

fread関数を使用する際、すべてを読み込みたい場合ファイルのデータはあるが、ファイルのデータ長がわからない場合は、filesize 関数でこの問題を解決できます。つまり、
コードをコピー コードは次のとおりです:

fclose($fp);


PHP ファイルの読み書きチュートリアルでは、ファイルが存在しない場合に新しいファイルを作成したくない場合があるため、さまざまな考慮事項により、通常は PHP Web サイト開発で file_exists 関数を使用しませんでした。ここで、fopen 関数を使用する前に、file_exists 関数を使用してファイルが存在するかどうかを確認する必要があります。つまり、


コードをコピーします
コードは次のとおりです: {
//PHP ファイルの読み取りと書き込み操作を実行する
}
?>


上記は、PHP を合理的に適用することにより、ファイルの読み取り操作のさまざまな方法を紹介します。ファイルの読み書き操作機能や簡易ゲストブック、Webサイトのログ記録などの機能が実現できます。


http://www.bkjia.com/PHPjc/322840.html

www.bkjia.com

http://www.bkjia.com/PHPjc/322840.html技術記事 PHP ファイルの読み取り操作には、ファイルの書き込み操作よりも多くの PHP ファイル操作関数が含まれます。これらの関数については、コード例で詳しく紹介します。 テキスト ファイルに保存されたデータを読み取る主な方法...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。