PHP 中国語ソフトウェアの読み取りおよび書き込み操作

WBOY
リリース: 2016-06-13 13:17:55
オリジナル
729 人が閲覧しました

PHP でのファイルの読み取りおよび書き込み操作

「ネットワーク ハード ドライブ」を使用すると、必要に応じて新しいフォルダーを作成し、一部のファイルをカテゴリに保存できます。

PHP は、ファイル システム操作やディレクトリ操作 (「コピー」など) など、必要な機能を簡単に実装できる一連の I/O 関数を提供します。以下では、基本的なファイルの読み取りおよび書き込み操作について説明します。(1) ファイルの読み取り、(2) ファイルの書き込み、(3) ファイルへの追加。

以下は、基本的なファイルの読み取りと書き込み操作に関する記事です。私はこの記事を読んで基本的なファイル操作を学びました。

[クリップボードにコピー] テキストコード:
  1. 作者: ?Mukul
  2. 翻訳:?無胜?
    ファイルの読み取り:

    [クリップボードにコピー] PHP コード:
    1. ?

    2. ?

    3. $file_name?=?"data.dat";?

    4. //?読み込むファイルの絶対パス:?homedata.dat?

    5. ?

    6. $file_pointer?=?fopen($ file_name,?"r");?

    7. //? ファイルを開きます。「r」はモード、または実行する操作方法です。詳細については、この記事の後半の説明を参照してください。 >

      ?
    8. $file_read
      ?=?fread($ file_pointer,?ファイルサイズ($file_name));?

    9. //?ファイル ポインタを介してファイルの内容を読み取ります

      ?
    10. fclose
      ($file_pointer) ;?

    11. //?ファイルを閉じる

      ?
    12. print
      ?"読み取ったファイルの内容は次のとおりです:?$file_read";?

    13. //?ファイルの内容を表示

    14. ?>? ?

    15. ファイルの書き込み:

      [クリップボードにコピー] PHP コード:
      1. ?

      2. ?

      3. $file_name?=?"data.dat";?

      4. //?絶対パス:?homedata.dat?

      5. ?

      6. $file_pointer?=?fopen($ file_name,?"w");?

      7. //?"w" はモードです。詳細については以下を参照してください

      8. ?

      9. fwrite($file_pointer,?「何?あなた?書き込みたいですか?");?

      10. //?最初にファイルを 0 バイトにカットし、次に

        を書き込みます
      11. ?

      12. fclose($file_pointer) ;?

      13. //?終了

      14. ?

      15. print?"データがファイルに正常に書き込まれました";?

      16. ?

      17. ?>?
      18. ?
        がファイルの末尾に追加されます:

        [クリップボードにコピー] PHP コード:
        1. ?

        2. ?

        3. $file_name?=?"data.dat";?

        4. //?絶対パス:?homedata.dat?

        5. ?

        6. $file_pointer?=?fopen($ file_name,?"a");?

        7. //?"w" モード

        8. ?

        9. fwrite($file_pointer,?「何?あなた?追加したいですか?");?

        10. //?ファイルを 0 バイトにカットしないでください。?データをファイルの末尾に追加します

        11. ?

        12. fclose($file_pointer) ;?

        13. //?終了

        14. ?

        15. print?"データはファイルに正常に追加されました";?

        16. ?

        17. ?>?
        18. ?
          上記はほんの簡単な紹介であり、以下ではさらに深い内容について説明します。

          場合によっては、複数人が書き込みを行うことがあります (トラフィックが多い Web サイトで最も一般的です)。その場合、ファイルに無駄なデータが書き込まれます。例:

          info.file ファイルの内容は次のとおりです?->?

          |1|Mukul|15| Male|India?(n)?
          |2|Linus|31|男性|フィンランド?(n)?

          現在 2 人が同時に登録されているため、ファイルが破損しています->?

          info.file?->?

          |1|ムクル|15|男性|インド?
          |2| ライナス|31|男性|フィンランド?
          |3|ロブ|27|男性|アメリカ|?
          ビル|29|男性|アメリカ?

          上記の例では、PHP が Rob の情報をファイルに書き込むときに、Bill も書き込みを開始します。このとき、Rob のレコードの「n」を書き込む必要があるため、問題が発生します。破損するファイル。

          もちろん、これは起こってほしくないので、ファイルのロックを見てみましょう:

          [クリップボードにコピー] PHP コード:
          1. ?

          2. ?

          3. $file_name?=?"data.dat";?

          4. ?

          5. $file_pointer?=?fopen($ file_name,?"r");?

          6. ?

          7. $lock?=?flock($ file_pointer,?LOCK_SH);?

          8. //?私は 4.0.2 を使用しているため、LOCK_SH を使用するには、?1 として直接記述する必要があるかもしれません。?

          9. ?

          10. if?($lock)?{?

          11. ?

          12. $file_read?=?fread($ file_pointer,?ファイルサイズ($file_name));?

          13. $lock?=?flock($ file_pointer,?LOCK_UN);?

          14. //バージョンが PHP4.0.2 より小さい場合は、LOCK_UN の代わりに 3 を使用します

          15. ?

          16. }?

          17. ?

          18. fclose($file_pointer) ;?

          19. ?

          20. print?"ファイルの内容は?$file_read";?

          21. ?

          22. ?>?
          23. ?
            上記の例では、read.php と read2.php の両方のファイルがファイルにアクセスする必要がある場合、どちらも読み取ることができますが、プログラムが書き込む必要がある場合は、読み取り操作が完了するまで待機する必要があります。そしてファイルが解放されます。

            [クリップボードにコピー] PHP コード:
            1. ?

            2. ?

            3. $file_name?=?"data.dat";?

            4. ?

            5. $file_pointer?=?fopen($ file_name,?"w");?

            6. ?

            7. $lock?=?flock($ file_pointer,?LOCK_EX);?

            8. //バージョンが PHP4.0.2 より前の場合は、LOCK_EX の代わりに 2 を使用してください

            9. ?

            10. if?($lock)?{?

            11. ?

            12. fwrite($file_pointer,?"何?書き込みたいですか?");?

            13. flock($file_pointer,?LOCK_UN) ;?

            14. //バージョンが PHP4.0.2 より低い場合は、LOCK_UN の代わりに 3 を使用します

            15. ?

            16. }?

            17. ?

            18. fclose($file_pointer) ;?

            19. ?

            20. print?"データがファイルに正常に書き込まれました";?

            21. ?

            22. ?>?
            23. ?
              ファイルの上書きには「w」モードが使用されますが、これは適用できないと思います。

              [クリップボードにコピー] PHP コード:
              1. ?

              2. ?

              3. $file_name?=?"data.dat";?

              4. ?

              5. $file_pointer?=?fopen($ file_name,?"a");?

              6. ?

              7. $lock?=?flock($ file_pointer,?LOCK_EX);?

              8. //バージョンが PHP4.0.2 より前の場合は、LOCK_EX の代わりに 2 を使用してください

              9. ?

              10. if?($lock)?{?

              11. ?

              12. fseek($file_pointer,?0,?SEEK_END);?

              13. //?バージョンが PHP4.0RC1 より小さい場合、?Use?fseek($file_pointer,?filsize($file_name));?

              14. ?

              15. fwrite($file_pointer,?"何?書き込みたいですか?");?

              16. flock($file_pointer,?LOCK_UN) ;?

              17. //バージョンが PHP4.0.2 より低い場合は、LOCK_UN の代わりに 3 を使用します

              18. ?

              19. }?

              20. ?

              21. fclose($file_pointer) ;?

              22. ?

              23. print?"データがファイルに正常に書き込まれました";?

              24. ?

              25. ?>?
              26. ?
                うーん...、? データの追加は他の操作とは少し異なります。それが FSEEK ですか? ファイル ポインターがファイルの最後にあることを常に確認するのが良い習慣です。

                Windows システムの場合、上記のファイルの前に ''.?

                FLOCK 雑談: ?

                Flock() は、ファイルが開かれた後にのみファイルをロックします。 ?上記の列のファイルは、開いた後はロックされます。現在のファイルの内容はその時点の内容のみであり、他のプログラム操作の結果は反映されません。そのため、ファイルの追加以外にも使用する必要があります。操作だけでなく、fseek 操作も可能です。
                (ここでの翻訳はあまり正確ではないかもしれませんが、理解できたと思います)。

                モードについて:

                'r'?-?読み取り専用モードで開きます。?ファイル ポインタはファイルに配置されます。 header

                'r+'?-?読み取りおよび書き込み用に開き、ファイル ポインターはファイル ヘッダー

                'w'? に配置されます。 -?書き込み専用に開きます。ファイルポインタはファイルの先頭に配置されます。ファイルヘッダー。ファイルは 0 バイトにカットされます。ファイルが存在しない場合は、ファイルの作成を試行します。

                'w+'-?読み取りおよび書き込み用に開きます。ファイル ポインターはファイル ヘッダーに配置され、ファイル サイズは 0 バイトにカットされます。ファイルが存在しない場合は、ファイルの作成が試行されます。ファイル末尾。ファイルが存在しない場合は、ファイルの作成を試みます。

                'a+'?-?読み取りおよび書き込み用に開きます。ファイル ポインタはファイルの末尾に配置されます。ファイルが存在しない場合は、ファイルの作成を試みます

関連ラベル:
ソース:php.cn
前の記事:初心者の質問: PHP で正規表現を使用する方法 次の記事:画像抽出の規則的なルールとその対処方法を見つける
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!