ホームページ  >  に質問  >  本文

echo fseek($fp,10);出力が 0 になるのはなぜですか?

エコー fseek($fp,10);

益伦益伦2494日前1621

全員に返信(5)返信します

  • 卿立平

    卿立平2018-01-28 21:30:33

    php7のマニュアルを確認してください。 fseek関数はポインタを指定バイト分だけ後方に移動させる関数です。ただし、このポインターの移動にはいくつかの要件があり、次の 3 つの結果が得られます。 1. 指定されたバイトを設定された位置 (ファイルの先頭) に逆方向に追加します。 2. 指定されたバイトをファイルの設定された位置 (先頭) に追加します。 3. 設定された位置(ファイルポインタの所定の位置)は、追加されるバイト数に等しくなります。
    この関数の戻り値は次のとおりです。増加が成功した場合は 0、それ以外の場合は -1 が返されます。
    今回は fseek($fp,10) を使用していますが、この時点でポインタはファイルの先頭に戻り、その後 10 バイト戻ると理解してください。
    テストしてみましょう。次の内容が含まれた「mylove.txt」というファイルがあります。「私たちは、より良い生活を求める人々の願望が私たちの目標であることを念頭に置き、人間中心の発展理念を堅持し、次のことに努めなければなりません。」 2017 年 10 月 25 日、習近平総書記は人民の生活を改善し、人民の利益、幸福、安全の感覚を継続的に高め、全人民の共通の繁栄を継続的に推進することを確保する。」第 19 期中国共産党中央委員会政治局 彼のスピーチは非常に反響がありました。 ”

    実行プログラム:

    <?php

    $fp = fopen('D:phpStudyPHPTutorialWWWdemomylove.txt' , 'r+');

    // 10文字読み込む

    echo fread($fp, 10 ); //fread を介してファイルを読み取る場合、ファイル ポインターが指定された長さの文字列の読み取りを終了すると、ポインターは指定された長さの位置に留まります

    //ポインターは先頭に戻ります

    rewind($fp. );

    echo '<br/>';

    echo fread($fp,10); // この時点で読み込んだ後、ポインタは 10 バイト目で停止します。 出力内容は「覚えておく必要があります」です。

    . echo '<br/>';

    echo fseek($fp,20); //ファイルポインタはファイルヘッダから 20 文字後方に移動します。これは、操作が成功したことを示します。ポインタの位置は 20 文字目の位置である必要があります

    echo '<br/>';

    echo fread($fp,10);// この時点では 20 バイト目の文字である必要があります。次に、10 バイトの長さを読み取るため、出力は「Longing for Life」になるはずです

    echo '<br/>';

    ?>

    プログラムの出力結果は次のとおりです:

    us
    0
    人生への憧れ

    をこのケースと組み合わせると、fseek() 関数をよりよく理解できるはずです。それを理解するには、マニュアルを確認するのが最善です。

    返事
    2
  • 卿立平

    卿立平2018-01-28 21:18:53

    php7のマニュアルを確認してください。 fseek関数はポインタを指定バイト分だけ後方に移動させる関数です。ただし、このポインタの移動にはいくつかの要件があり、次の 3 つの結果が得られます。 1. 指定されたバイトをファイルの末尾の設定位置に追加します。 2. 指定されたバイトをファイルの末尾の設定位置に追加します。設定された位置は、追加されるバイト数と同じです。
    この関数の戻り値は次のとおりです。増加が成功した場合は 0、それ以外の場合は -1 が返されます。

    返事
    0
  • 小崔

    小崔2017-12-05 16:32:47

    fseek() 関数は、読み取りが成功した場合は 0 を返し、それ以外の場合は -1 を返します。この場合、 fseek() でデータを読み込みます

    返事
    0
  • 小崔

    小崔2017-12-03 16:44:22

    同じ質問

    返事
    0
  • myfey

    myfey2017-11-27 13:59:22

    10番目のファイル位置は0である必要があります

    返事
    0
  • キャンセル返事