今日の人気記事

  1. 変数を文字列型に変換 - strval関数

フォーマットされたファイルを読み込む - fscanf()

当ページのリンクには広告が含まれています。

プログラミング言語PHPで、フォーマットされたファイルを読み込む fscanf()を紹介します。

fscanf 関数

mixed fscanf ( resource $handle , string $format )
フォーマットされたファイルを読み込みます。
引数
$handle
fopen関数で正常にオープンされた、有効なファイルポインタを指定します。
$format
sprintf関数のフォーマットを指定します。
返り値
読み込んだ値を配列で返します。

サンプルコード

フォーマットされたファイル(list.txt)を読み込むサンプルコードです。
作成したタブ区切りのファイルをfopen関数でファイルをオープンし、fscanf関数で1行ずつ読み込んでいます。

fscanf( ファイルポインタ, フォーマット )
<?php
/* 読み込むファイルを作成 */
$str = <<<EOD
Windows\tMac\tLinux\t10
C言語\tPHP\tjQuery\t20
EOD;
file_put_contents('list.txt', $str);

/* ファイルポインタをオープン */
$file = fopen("list.txt", "r");

/* ファイルを1行ずつ配列へ */
if( $file ){
  while( $line = fscanf($file, "%s\t%s\t%s\t%d\n") ){
    var_dump( $line );
  }
}

/* ファイルポインタをクローズ */
fclose($file);
?>

実行結果です。

array(4) {
  [0]=>
  string(7) "Windows"
  [1]=>
  string(3) "Mac"
  [2]=>
  string(5) "Linux"
  [3]=>
  int(10)
}
array(4) {
  [0]=>
  string(7) "C言語"
  [1]=>
  string(3) "PHP"
  [2]=>
  string(6) "jQuery"
  [3]=>
  int(20)
}

読み込んだファイルが配列として返されています。

ファイル の人気記事

  1. ファイルの中身を配列に格納 - file()
  2. ファイルがディレクトリかどうかを確認 - is_dir()
  3. ファイルから1行ずつ読み込む - fgets()
  4. 文字列をファイルに書き込む - file_put_contents()
  5. PHP関数リファレンス

関連記事(一部広告含む)