今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列をファイルに書き込む - file_put_contents()
  3. ヒアドキュメント
  4. 論理値 - boolean
  5. OS情報を取得 - php_uname()

フォーマットされたファイルを読み込む - 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. ファイルから1行ずつ読み込む - fgets()
  2. ファイル名を変更 - ファイルを移動 - rename()
  3. 文字列にファイルを書き込む - fwrite()、fputs()
  4. 親ディレクトリのパスを表示 - dirname()
  5. ディレクトリを作成 - mkdir()
  6. 文字列をファイルに書き込む - file_put_contents()
  7. ユニークなファイル名の一時ファイルを作成 - tempnam()
  8. 相対パスから絶対パスを取得 - realpath()
  9. バイナリセーフにファイルを読み込む - fread()

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