ホームページ  >  記事  >  バックエンド開発  >  PHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!

PHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!

藏色散人
藏色散人オリジナル
2021-08-19 17:52:293070ブラウズ

前の記事「PHPで連想配列をループする方法(2つの方法)」では、PHPで連想配列をループする2つの方法を紹介しました。興味のある方はぜひ学んでください~

この記事のテーマは、PHP の fgets、fgetss、および fgetcsv 関数の具体的な違いを紹介することです。

実は、これら 3 つの関数はすべて PHP のファイル操作関数に関連するものですが、皆さんがさまざまな場面で異なる関数を使いこなせるように、それぞれの違いをまとめておきます。

以下に、fgets、fgetss、および fgetcsv 関数をそれぞれ例とともに紹介します。

1: fgets()Function

#fgets() 関数は、ファイルから一度に 1 行を読み取るために使用されます。改行文字 (\n) または EOF に遭遇するまで読み取りを続けます。読み取られる最大長は、指定された長さから 1 バイトを引いたものになります。

次のような構文:


string fgets ( resource $handle [, int $length ] )

パラメータ:

ハンドル: ファイル ポインタは有効である必要があり、fopen() または fsockopen によって正常に開かれたファイルを指している必要があります。 () (fclose() によってまだ閉じられていません)。

length: handle が指すファイルから 1 行を読み取り、最大 length - 1 バイトの長さの文字列を返します。改行文字 (戻り値に含まれる)、EOF、または長さ - 1 バイト (いずれか最初に発生した方) が読み取られたときに停止します。長さが指定されていない場合、デフォルトは 1K、つまり 1024 バイトになります。

例:

次の内容を含む test.txt ファイルを作成します: (この内容の段落はインターネットからのものです。権利侵害と削除をお詫びします)


<p>秋已经很深了,似乎随时都可能陨落,<b>让冬给替代。</b></p>
那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。

PHP サンプル コードは次のとおりです:

<?php
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>

出力結果は次のとおりです:


PHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!

##Two:

fgetss() 関数fgets() の興味深い変種は fgetss() で、その構文は次のとおりです:

string fgetss(resource fp, int length, string [allowble_tags])

この関数は fgets() に似ていますが、異なります。違いは、文字列内で見つかったすべての PHP タグと HTML タグを削除することです。特定のタグを保持したい場合は、それらを allowed_tags 文字列に追加できます。他のファイルやユーザー入力を含むファイル。念のため、fgetss() を使用できます。

この例の test.txt の内容は上記と同じです。

PHP サンプル コードは次のとおりです:

<?php
$file = fopen("test.txt","r");
echo fgetss($file);
fclose($file);
出力は次のとおりです:

PHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!特定の情報を保持するにはタグを追加した後、次のパラメータを設定できます:

<?php
$file = fopen("test.txt","r");
echo fgetss($file,1024,"<p>,<b>");
fclose($file);

効果は次のとおりです:

PHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!## 3 つ:

fgetcsv()

Function関数 fgetcsv() は、fgets() の別のバリアントです。構文は次のとおりです:

array fgetcsv(resource fp, int length [, string  delimiter [, string enclosure]])

区切り文字 (タブやカンマなど) を使用する場合)、この関数はファイル行を区切ります。

まず、次の内容の test.csv ファイルを作成します。

春天, 夏天, 秋天, 冬天
早晨, 上午, 中午, 晚上

PHP コード例:

<?php
$file = fopen("test.csv","r");
var_dump(fgetcsv($file));
fclose($file);

出力:

array (size=4)
  0 => string &#39;春天&#39; (length=6)
  1 => string &#39; 夏天&#39; (length=7)
  2 => string &#39; 秋天&#39; (length=7)
  3 => string &#39; 冬天&#39; (length=7)

PHP 中国の Web サイト プラットフォームには、非常に多くのビデオ教育リソースがあります。誰でも「

PHP ビデオ チュートリアル

」を学習することを歓迎します。

以上がPHP の fgets、fgetss、fgetcsv の違いがまだわかりませんか?急いで集めてください!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。