PHPを使用してファイルを1行ずつ読み取ります
PHP を使用してファイルを 1 行ずつ読み取る理由は 2 つあります。
- 現在取り組んでいるプロジェクトでは、ファイルを一度に 1 行ずつ処理する必要があります。
- 非常に大きなファイルを読み取っていますが、メモリ制限を超えずにファイルを読み取る唯一の方法は、一度に 1 行ずつ読み取ることです。
ファイルを読み取るには file()
を使用します
PHP の file()
関数を使用すると、ファイル全体を一度に配列に読み取ることができます。配列要素はファイルの個々の行です。したがって、配列を反復処理することで、ファイル内の行を反復処理できます。この関数は 3 つのパラメータを受け入れます:
- ファイル名: これは読み取りたいファイルです。ファイル名として URL を指定することもできます。
-
flags: これは、次の定数値の 1 つ以上に設定できるオプションのパラメーターです:
FILE_USE_INCLUDE_PATH
、FILE_IGNORE_NEW_LINES
、およびFILE_SKIP_EMPTY_LINES## #。
- Context: これは、ストリームの動作を変更するために使用されるオプションのパラメーターでもあります。
FILE_SKIP_EMPTY_LINES フラグを使用して、ファイル内のすべての空行をスキップします。
FILE_IGNORE_NEW_LINES を使用して、個々の行から行末を削除することもできます。
false を返します。ファイルが存在しない場合は、
E_WARNING レベルのエラーも表示されます。この機能の使用例を次に示します。
リーリー
リーリー
出力には空の行がいくつかあることがわかります。FILE_SKIP_EMPTY_LINES フラグを使用してそれらを削除できます。また、明らかではないかもしれませんが、上の行には改行が含まれています。そのため、これらの行をエコーするときに独自の改行を追加する必要はありません。
FILE_IGNORE_NEW_LINES フラグを使用して空行を削除できます。
リーリー
リーリー
メモリ使用量を気にしない場合は、file() 関数を使用すると、PHP でファイルを 1 行ずつ読み取る簡単な方法です。ただし、メモリ使用量が問題になる場合は、
file() がファイル全体を一度に配列に読み込むため、より創造的にする必要があります。
fgets() を使用します
PHP を使用してファイルを 1 行ずつ読み取るもう 1 つの方法は、fgets() 関数を使用することです。必須パラメータが 1 つあり、それは有効なファイル ハンドルです。
fopen() 関数を使用してファイル ハンドルにアクセスします。これは実行したいコードです:
リーリー
$file_handle をパラメータとして受け取り、行を返す関数を定義します。
yield ステートメントを使用していることと、関数
get_all_lines() がジェネレーター関数であることに注意してください。これまで PHP でジェネレーター関数を使用したことがない場合は、それについて読んでみるとよいでしょう。
我们在 get_all_lines()
中使用 feof()
函数来检查文件指针是否到达文件末尾。只要我们不在文件末尾,我们就会屈服。通过运行上面的代码,您应该得到以下输出:
1. The Project Gutenberg eBook of Pride and Prejudice, by Jane Austen 2. 3. This eBook is for the use of anyone anywhere in the United States and 4. most other parts of the world at no cost and with almost no restrictions 5. whatsoever. You may copy it, give it away or re-use it under the terms 6. of the Project Gutenberg License included with this eBook or online at 7. www.gutenberg.org. If you are not located in the United States, you 8. will have to check the laws of the country where you are located before 9. using this eBook. 10. 11. Title: Pride and Prejudice 12. 13. Author: Jane Austen 14. 15. Release Date: June, 1998 16. [Most recently updated: August 23, 2021]
输出看起来与我们上一节中的相同。这次唯一的区别是您不再面临内存不足的危险。
我之前提到过 fgets()
将允许您一次读取文件的一行,并且它只需要一个指向您要读取的文件的文件指针的参数。在这种情况下,内存消耗取决于行的长度,并且内存不足的可能性很小。
但是,假设您正在阅读一个包含异常长行的文本文件。然后,您可以将可选的第二个参数传递给 fgets()
函数,该函数指定要读取的字符数。然后,它将在停止之前从文件中读取 length - 1
字节。如果遇到新行或文件末尾,它将提前停止。这使您可以更好地控制代码的内存消耗。
最终想法
我在本教程中讨论了两种使用 PHP 逐行读取文件的方法。还有几种方法可以做到这一点,但这两种方法几乎可以满足您的所有需求。当内存消耗不是问题时,请使用 file()
函数,如果您想节省内存,请使用 fgets()
和生成器函数。
以上がPHPを使用してファイルを1行ずつ読み取りますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
