PHP でファイルを読み取る正しい方法
PHP のさまざまなファイル関数の使用方法を学びます。 fopen、fclose、feof などの基本的なファイル関数を確認し、fgets、fgetss、fscanf などの読み取り関数について学習します。そして、1 行または 2 行のコードでファイル全体を処理する関数を見つけました。
何通りあるのか数えてみましょう
で
PHP のような最新のプログラミング言語を使用する楽しみの 1 つは、利用可能なオプションが膨大にあることです。 PHP は Perl のモットーである「以上のものがある」を簡単に勝ち取ることができます。
一つの方法
特にファイル処理に関しては、それを実行します (方法は 1 つだけではありません)。しかし、非常に多くのオプションが利用できるため、その作業に最適なツールはどれでしょうか? もちろん、実際の答えはファイルの目的を解析することによって異なります。
したがって、時間をかけてすべてのオプションを検討する価値があります。
伝統的な fopen メソッド
フォーペン
メソッドは古い C および C++ である可能性があります
プログラマーが最もよく知っている言語は、これらの言語を使用したことがある場合、多かれ少なかれ何年も自由に使えるツールだからです。これらのメソッドのいずれについても、次を使用します。
リスト 1 に示すように、fopen (データの読み取りに使用される関数) の標準メソッドはファイルを開いてから、fclose を使用してファイルを閉じます。
リスト 1. fgets でファイルを開いて読み取る ???
$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
?? $line = fgets($file_handle);
?? エコー $line;
}
fclose($file_handle);
長年のプログラミング経験を持つほとんどのプログラマーはこれらの関数に精通していますが、詳しく説明してみましょう。次の手順を効果的に実行します:
ファイルを開きます。 $file_handle には、ファイル自体への参照が保存されます。
ファイルの最後に到達したかどうかを確認してください。
ファイルの終わりに達するまでファイルの読み取りを続け、読み取られた各行を出力します。
ファイルを閉じます。
これらの手順を念頭に置いて、ここで使用される各ファイル関数を確認していきます。
fopen
fopen 関数はファイルへの接続を作成します。 「接続を作成する」と言ったのは、fopen はファイルを開くだけでなく、URL も開くことができるためです。 $fh = fopen("http://127.0.0.1/", "r");
このコード行は上記のページへの接続を作成し、ローカル ファイルのようにページの読み取りを開始できるようにします。
注: fopen で「r」を使用すると、ファイルが読み取り専用で開かれることを示します。ファイルへのデータの書き込みはこの記事の範囲外であるため、その他のオプションはすべてリストしません。ただし、クロスプラットフォーム互換性のためにバイナリ ファイルから読み取る場合は、「r」を「rb」に変更する必要があります。この例については後で説明します。
フェオ
feof コマンドは、ファイルの終わりに到達したかどうかを検出し、True または False を返します。リスト 1 のループは、ファイル「myfile」の終わりに到達するまで続きます。注: URL の読み取り中に、読み取るデータがなくなってソケットがタイムアウトした場合にも、feof は False を返します。
fclose
リスト 1 の最後まで進んで、fclose は fopen の逆を行い、ファイルまたは URL への接続を閉じます。この関数を実行すると、ファイルまたはソケットから情報を読み取ることができなくなります。
fgets
リスト 1 の数行戻ると、ファイル処理の核心、つまり実際にファイルを読み取る作業に移ります。 fgets 関数は、最初の例で使用する武器です。ファイルからデータ行を抽出し、それを文字列として返します。その後、データを印刷したり、その他の方法で操作したりできます。リスト 1 の例では、ファイル全体が正常に出力されます。
処理されるデータのチャンクのサイズを制限する場合は、fgets にパラメーターを追加して、行の最大長を制限できます。たとえば、行の長さを 80 文字に制限するには、次のコードを使用します: $string = fgets($file_handle, 81);
思い出してください。」
恐怖
複数のファイル読み込み関数の中で利用できる関数は fgets 関数だけです。通常、行ごとに解析することが合理的であるため、これはより一般的に使用される関数です。実際、他のいくつかの関数も同様の機能を提供します。ただし、必ずしも 1 行ずつ解析する必要があるわけではありません。
これ
フレッドを使用する必要があります。 fread 関数と fgets
の処理目標は少し異なります。バイナリ ファイル (つまり、主に人間が読めるテキストを含まないファイル) から情報を読み取る傾向があります。 「行」の概念はバイナリ ファイル (通常は論理データ構造) とは関係がないため、
は改行で終了しないため)、読み込む必要があるバイト数を指定する必要があります。 $fh = fopen("myfile", "rb");
$data = fread($file_handle, 4096);
??? バイナリデータを使用します
注記
注: この関数の例では、fopen とは若干異なるパラメーターがすでに使用されています。バイナリ データを扱うときは、fopen に b オプションを必ず含めてください。
真ん中。この点を省略すると、Microsoft® Windows® システムでは改行の処理方法が異なるため、ファイルが正しく処理されない可能性があります。Linux を扱う場合はどうなるでしょうか?
システム (または他の UNIX® バリアント) では、これは重要ではないように思えるかもしれません。 Windows 用でなくても
そうすることで、優れたクロスプラットフォームの保守性も実現できるため、従うべき良い習慣でもあります。
上記のコードは 4,096 バイト (4 KB) のデータを読み取ります。注: 指定したバイト数に関係なく、fread は 8,192 バイト (8 KB) を超えて読み取ることはありません。
ファイル サイズが 8 KB 以下であると仮定すると、次のコードはファイル全体を文字列に読み取る必要があります。 $fh = fopen("myfile", "rb");
$data = fread($fh, filesize("myfile"));
fclose($fh);
ファイルの長さがこの値より長い場合、残りのコンテンツはループを使用してのみ読み込むことができます。
fscanf
文字列処理に戻ると、fscanf も従来の C ファイル ライブラリ関数に従います。慣れていない方のために説明すると、fscanf はフィールド データをファイルから変数に読み取ります。 list ($field1, $field2, $field3) = fscanf($fh, "%s %s %s");
この関数で使用されるフォーマット文字列は多くの場所 (PHP.net など) で説明されているため、ここでは詳しく説明しません。文字列の書式設定は非常に柔軟であると言えば十分でしょう。すべてのフィールドが関数の戻り値に配置されることに注意してください。 (C では、両方とも引数として渡されます。)
fgetss
fgetss 関数は従来のファイル関数とは異なり、PHP の能力をより深く理解できるようになります。この関数は fgets 関数と同様に機能しますが、見つかった HTML または PHP タグをすべて削除し、プレーン テキストのみを残します。以下に示す HTML ファイルを表示します。
リスト 2. サンプル HTML ファイル ???
???
???
???????
「あなたに痛みを与えてくれる人は誰もいないから」の意味がわかったら
?????????? ということは、アメリカというバンドを聴きすぎているということです
???

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
