目次
file_put_contents() 関数を使用して PHP ファイルにデータを書き込むことは、fopen()
最终想法
ホームページ バックエンド開発 PHPチュートリアル PHP チュートリアル: PHP を使用してファイルの内容を追加する方法

PHP チュートリアル: PHP を使用してファイルの内容を追加する方法

Aug 31, 2023 pm 07:33 PM
php 追加ファイル

PHP チュートリアル: PHP を使用してファイルの内容を追加する方法

Web サイトを作成すると、通常、データはデータベースに保存されます。ただし、後で簡単に読み取ったり変更したりできるように、データをファイルに保存する必要がある場合があります。

PHP には、ファイルからデータを読み書きするための関数が多数付属しています。それらの一部を使用して、ファイルにデータを追加することもできます。このチュートリアルでは、PHP を使用してファイルにデータを追加する 2 つの異なる方法を学習します。

file_put_contents() 関数を理解する

file_put_contents() 関数は、PHP を使用してファイルにデータを書き込む最も簡単な方法の 1 つです。動作を決定するために 4 つの異なるパラメーターを受け入れます。パラメータは次のとおりです:

  • filename: データを書き込むファイルの場所へのパス。
  • data: ファイルに書き込むデータを指定します。通常は文字列ですが、配列またはストリーム リソースを指定することもできます。この関数は、データをファイルに書き込むために、implode() を使用して 1 次元配列の内容を自動的に内部分解します。
  • flags: file_put_contents() の動作を制御します。ここでは 3 つの異なるフラグを個別に、または他のフラグと組み合わせて設定できます。 | 演算子を使用して、さまざまなフラグを組み合わせることができます。
  • context: ストリーム内のコンテンツを読み取ったりアクセスしたりするときに、追加データを PHP に提供する場合にのみ役立ちます。
file_put_contents()

を使用してデータを PHP ファイルに追加します file_put_contents()

この関数のデフォルトの動作では、指定されたファイルの内容が、指定された新しいデータで上書きされます。これは、古いデータを保持して新しいデータを追加する場合にはお勧めできません。この場合、

FILE_APPEND フラグを使用して、ファイルにもともと存在していたデータの末尾にデータを追加する必要があることを PHP に知らせることができます。 特殊なケースでは、複数のスクリプトから同時にデータをファイルに追加することがあります。このような場合、LOCK_EX

フラグを使用してファイルの排他ロックを取得することをお勧めします。これは、データの破損やその他の予期しない動作を防ぐのに役立ちます。このフラグを使用すると、他のスクリプトは、現在のプロセスがファイルへの書き込みを完了するまで待機してから、独自のデータを追加します。

これは、file_put_contents()

を使用して既存のファイルにテキストを追加する例です。

リーリー 上記の例では、カナダに関する情報が含まれる canada.txt

というファイルに文字列を書き込みます。両方の文字列がファイルの末尾に順番に追加されます。

ファイルがまだ存在しない場合、この関数はファイルを作成することに注意してください。ただし、存在しないディレクトリは作成されません。したがって、ファイルへの書き込みを開始する前に、ファイルが存在するかどうかを確認することをお勧めします。

fwrite()

を使用してデータを PHP ファイルに書き込みます

file_put_contents() 関数を使用して PHP ファイルにデータを書き込むことは、fopen()

fwrite()、および fclose(順番通りに )###。これは、ファイルを繰り返し開いたり閉じたりすることになるため、同じファイルに対して複数の書き込みを実行すると非効率になる可能性があることを意味します。 この問題を解決する 1 つの方法は、これらの関数を自分で呼び出すことです。書き込み操作の開始時に fopen() を呼び出すだけです。その後、fwrite() 関数を使用して、内容をファイルに複数回書き込みます。最後に、

fclose()

を呼び出すだけでファイル ハンドルを閉じることができます。それでは、各ステップについて詳しく説明していきます。 fopen() この関数は、ファイルを開く方法を PHP に指示するために使用できる 4 つの異なるパラメーターを受け入れます。

filename: 開きたいファイルの名前。

    mode
  • : ファイルを開くモードを 1 文字または 2 文字で指定できます。このファイルを開いてテキストを追加したいと思います。追加するには、文字 a または
  • a
  • を使用してパターンを設定します。これにより、ファイル ポインタがファイルの末尾に配置されます。ファイルが存在しない場合、PHP はファイルの作成も試みます。 a メソッドを使用してファイルを開くと、ファイルの内容を読み取ることもできます。 use_include_path: 指定されたインクルード パス内のファイルも検索するように PHP に指示します。デフォルトは false です。
  • context
  • : ストリーム内のコンテンツを読み取ったりアクセスしたりするときに、追加データを PHP に提供する場合にのみ役立ちます。
  • ファイルが開いたので、
  • fwrite() 関数を使用してファイルに情報を追加できます。 fwrite()
  • には 3 つのパラメータが必要です:

resource: これは、fopen()

を使用して以前に作成したリソース ハンドルです。
  • string: ファイルに追加するテキスト。
  • length
  • : オプション。ファイルに書き込まれる最大バイト数を設定するために使用されます。
  • すべての書き込み操作が完了したら、
  • fclose() 関数を使用してファイル ハンドルを閉じることができます。

    这里是一个示例,向您展示如何使用 fopen()fwrite()fclose() 将数据附加到文件。

    <?php
    
    //open the file
    $square_file = fopen("squares.txt", "a+");
    
    //write the squares from 1 to 10
    for($i = 1; $i <= 10; $i++) {
        $square = $i*$i;
        $cube = $square*$i;
        $line = "Square of $i is: $square.\n";
        fwrite($square_file, $line);
    }
    
    //read the first line of the file and echo
    fseek($square_file, 0);
    echo fgets($square_file);
    
    //close the file
    fclose($square_file);
    
    ?>
    
    ログイン後にコピー
    square.txt的内容
    Square of 1 is: 1.
    Square of 2 is: 4.
    Square of 3 is: 9.
    Square of 4 is: 16.
    Square of 5 is: 25.
    Square of 6 is: 36.
    Square of 7 is: 49.
    Square of 8 is: 64.
    Square of 9 is: 81.
    Square of 10 is: 100.
    
    ログイン後にコピー

    在本例中,我们将数字 1 到 10 的平方写入名为 square.txt 的文件中。我们在 a+ 模式下使用 fopen() 函数打开它,这意味着我们还可以从文件中读取内容以及附加我们自己的内容。每次 for 循环迭代时,都会将包含 $i 及其平方的当前值的新行附加到我们的文件中。

    有一些函数,例如 fread()fgets(),您可以使用它们来读取文件中写入的内容。但是,您通常需要使用 fseek() 将文件指针放置在所需位置以按预期读取数据。循环结束后,我们转到文件的开头并使用 fgets() 读取其第一行。

    最后,我们通过调用函数 fclose() 关闭文件句柄。

    最终想法

    在本教程中,我们学习了使用 PHP 将数据附加到文件的两种不同方法。使用 file_put_contents() 函数可以更方便地将数据写入文件。但是,当您必须对一个文件执行多次写入操作时,使用 fwrite() 会更有效。使用 fopen() 打开文件来附加数据还可以让您选择通过将文件指针移动到所需位置来读取其内容。

以上がPHP チュートリアル: PHP を使用してファイルの内容を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

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

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

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

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

See all articles