ホームページ  >  記事  >  バックエンド開発  >  PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

WBOY
WBOYオリジナル
2021-10-18 16:15:325055ブラウズ

前回の記事では、主にPHP正規表現の基礎知識とその使い方を例を交えて解説した「PHPの楽しい正規表現の基礎(詳細図解)」をお届けしました。 . 使い方を学びましょう。この記事では、引き続き PHP ファイル システムについて学習します。お役に立てれば幸いです!

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

コンピュータを使用するとき、私たちは皆、ファイルを開いたり閉じたり、ファイルを作成したり、ファイルをアップロードしたりするためにコンピュータを使用します。では、これらの操作はコードで実行できるのでしょうか?それができる場合、どのように行うべきですか?実際、それは非常に単純で、ファイル処理を学習することは、実際にファイル処理の機能を学習し、それを以前に学習したことと組み合わせるということです。それでは次に見てみましょう。

ファイルの読み取りは、日常的に使用する最も一般的な操作の 1 つであるため、それをコードに実装する方法。

ここでは、PHP の関数を使用してファイルの内容を読み取る方法を紹介します。

fgetc(): ファイルから文字を読み取る

これらの関数を使用してファイルを読み取る前に、まず、サーバーのルート ディレクトリにテキスト ファイルを作成する必要があります (ここでは例として text.txt を使用します)。テキストの内容は次のとおりです:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

見てみましょうfgetc() の使用方法と出力結果:

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);             
   
$a = fgetc($handle)  ;
       echo $a; 
       
?>

出力結果:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

fgetc は文字の取得のみを読み取ることができます前述のループを使用して結合すると、次の例が得られます:

<?php
    header("Content-Type: text/html;charset=utf-8");    //设置字符编码
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);                 //打开文件
    if (!$handle) {                                     //判断文件是否打开成功
        echo &#39;文件打开失败!&#39;;
    }
    while (false !== ($char = fgetc($handle))) {        //循环读取文件内容
        echo $char;
    }
    fclose($handle);                                    //关闭文件
?>

出力結果:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

fgets() および fgetss(): ファイルを 1 行ずつ読み取ります

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);             
   
$a = fgets($handle)  ;
       echo $a; 
       
?>

出力結果:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

fgetss() 関数は fgets() のバリアントで、データ行の読み取りにも使用され、読み取り中にフィルター処理も行います。読み取ったコンテンツの PHP タグと HTML タグを削除します。

fgets を使用してファイルを 1 行ずつ読み取ることができることがわかります。同時に、上記と同様に、ループを使用してすべてのファイルを読み取ることができます。 。

例は次のとおりです:

<?php
    $handle = @fopen("test.txt", "r");
    if ($handle) {
        while (($info = fgets($handle, 1024)) !== false) {
            echo $info.&#39;<br>&#39;;
        }
        fclose($handle);
    }                                
?>

出力結果:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

##fread( ): ファイルを読み取ります (任意の長さ)

##

<?php
    $filename = "test.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, &#39;6&#39;);
    echo &#39;从文件中读取 6 个字符长度:&#39;.$contents.&#39;<br>&#39;;
    rewind($handle);
    $contents = fread($handle, filesize($filename));
    echo &#39;读取全部的文件内容:&#39;.$contents;
    fclose($handle);
?>
PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)出力結果:


PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

readfile(): すべてのファイルを読み取ります

<?php
    $file = &#39;test.txt&#39;;
    $info = readfile($file);
?>
出力結果:


PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

#file(): ファイル全体を配列に読み込みます。

<?php
    $file = &#39;test.txt&#39;;
    $arr  = file($file, FILE_IGNORE_NEW_LINES);
    $arr2 = file($file);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($arr);
    var_dump($arr2);
?>
出力結果:

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

##file_get_contents()

: ファイルを文字列に読み取ります。 #まず、最初にtest.txt ファイル


を入力し、次のように入力します:

<?php
    $a = &#39;test.txt&#39;;
   $b = file_get_contents($a);
   //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组
   $c = explode("\n", $b);
   //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
   while (list($key, $val) = each($c)) {
       ++$key;
       $val = trim($val);
       //用的单引号,单引号不解释变量进行了拼接而已
       print &#39;Line&#39; . $key .&#39;:&#39;.  $val.&#39;<br />&#39;;
   }
?>
PHPでファイルを読み取るにはどうすればよいですか? (シェア概要) これを以前に学んだ知識と組み合わせると、出力結果は次のようになります:

これまでに学んだ知識の統合ですが、まず file_get_contents でファイルを開き、各ステートメントのリストと while ループで出力結果を取得しました。

PHPでファイルを読み取るにはどうすればよいですか? (シェア概要)

拡張知識: fopen、fread、fclose 操作 read

ファイルを開く上記の file_get_contents メソッドは単純かつ粗雑ですが、次のメソッドはいくつかの

resource fopen ( string $文件名, string 模式)
string fread ( resource $操作资源, int 读取长度)
bool fclose ( resource $操作资源 )
上記の機能を通じて、リソースタイプの通常の操作方法を説明します。

リソースを開く

  • 使用 関連関数による操作の実行

  • リソースを閉じる

fopen 関数 fopen 関数の機能はファイルを開くことです。主なパラメータは 2 つあります:

  • ファイルを開くパス

  • オープン ファイル モード

戻り値の型はリソース タイプであり、このリソース タイプはこのリソースを操作するために他の関数を必要とします。すべてのリソースは、開いたときに閉じる必要があります。

fread 関数: この関数の機能は、開いているファイル リソースを読み取ることです。指定された長さのファイル リソースを読み取り、その一部を読み取り、一部を後方に移動します。ファイルの最後まで。

fclose 関数: fclose 関数の機能は、リソースを閉じることです。リソースは開いたり閉じたりします。

次に、fopen 関数のモードを紹介します。

  • r 読み取り専用モードで開き、ファイル ポインタをポイントします。ファイルヘッダーに。

  • r 読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。

  • w 書き込みモードを開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズをゼロにカットします。ファイルが存在しない場合は、ファイルの作成を試みます。

  • w 読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズを切り詰めます。ゼロに。

  • #a 書き込みモードで開き、ファイル ポインタをファイルの末尾にポイントします。ファイルが存在しない場合は、ファイルの作成を試みます。

  • a 読み取り/書き込みモードでファイルを開き、ファイル ポインタをファイルの末尾にポイントします。ファイルが存在しない場合は、ファイルの作成を試みます。

  • #x ファイル ポインタをファイル ヘッダーに指定して、書き込み用にファイルを作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、ファイルの作成を試みます。

  • #x

    ファイル ポインタをファイル ヘッダーに指定して、読み取り/書き込みモードでファイルを作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。

  • 推奨学習: 「
PHP ビデオ チュートリアル

以上がPHPでファイルを読み取るにはどうすればよいですか? (シェア概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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