fortranで作成したバイナリのデータをPHPで読み込む

自分用の覚書。Cやfortran等で作成された倍精度浮動小数点実数を保存したバイナリデータをPHPを用いて読み込む方法が、意外とGoogle先生で安直には見つからなかったのでメモ。
データを作成したfortran側のソースコード

      PROGRAM main
        REAL(KIND(0D0)),DIMENSION(2)::a
        a(1)=ASIN(1D0)
        a(2)=ACOS(-1D0)
        WRITE(9)a
      END PROGRAM

読み込み側のPHPソースコード

<?php
$handle=fopen("fort.9","rb");
if ( $handle ) {
    // fortranの行頭にある行のサイズデータ(4バイト)を取得する
    $tmp= fread($handle,4);
    $tmp= unpack("l",$tmp);
    $sizeByte= $tmp[1];

    // データ読み込みの本体
    $tmp= fread($handle,$sizeByte);
    $data= unpack("d*",$tmp);

    // 行末4バイトを読み込む
    $tmp= fread($handle,4);
}

参考 PHP: unpack - Manual