|  | スポンサードリンク 
 ファイルから指定した書式にフォーマットに従って読み取るには、fscanf()関数を使います。
 
 
 
  ※フォーマットで指定する"\t"は、全ての空白(タブ、半角スペース)と一致するので注意すること!!
    | fscanf( ファイルハンドル ,フォーマット
      )
 | fscanf()関数で、オープンしたファイルを1行づつ読み取り、指定したフォーマットに従って配列で返します。 ファイルの終端に達すると、FALSEを返します。
 
 
 |  
    | fscanf( ファイルハンドル ,フォーマット ,
 変数1,変数2,・・・ )
 | 上記と異なる所は、第3引数以降で指定した変数に、読み込んだ値が代入されることです。 戻り値には、代入された数が返ってきます。
 |  
 フォーマットの形式は、sprintf()関数と同じです。
 
 
 例1) ファイル「/temp/test.txt」をオープンして、1行づつ読み取り、表示します。
 読み込んだレコードを、空白で分割した形で配列で返します。
 
 
  ファイル「c:/temp/test.txt」 の内容
    | <?php$handle = fopen( "c:/temp/test.txt", "r" );
 while((list($str1, $str2,$str3) = fscanf( $handle, "%s\t%s\t%s" ) )) {echo "str1:(" . $str1 . ") str2:(" . $str2 .") str3:(" . $str3 . ")\n";
 }
 fclose($handle);?>
 
 ●実行結果
 str1:(aaa) str2:(bbb) str3:(ccc)
 str1:(aaa) str2:(bbb) str3:(ccc)
 str1:(aaa) str2:(bbb) str3:(ccc)
 
 
 
 |  
  
    | aaa bbb cccaaa bbb ccc
 aaa bbb ccc
 
 
 |  例2) 例1のfscanf()関数の第3引数以降を指定した形式で実行します。
 
 
  
    | <?php$handle = fopen( "c:/temp/test.txt", "r" );
 while( fscanf( $handle, "%s\t%s\t%s", $str1, $str2, $str3 ) ) {echo "str1:(" . $str1 . ") str2:(" . $str2 .") str3:(" . $str3 . ")\n";
 }
 fclose($handle);?>
           ●実行結果str1:(aaa) str2:(bbb) str3:(ccc)
 str1:(aaa) str2:(bbb) str3:(ccc)
 str1:(aaa) str2:(bbb) str3:(ccc)
 
 
 
 |  スポンサード リンク
 
 
 
 |