2011年10月12日水曜日

AMFフォーマットからPHPで値を抜き出す方法

AMFファイルから必要な値だけ出す方法がなかなか見つからなかったので調べてみた
Zend FrameworkにはZend_Amfがあり、この中にAMFフォーマットを処理する部分があることを
睨んで調べてみたら簡単にできた

これでUstreamのamfが読めるようになった

$url = "http://cdngw.ustream.tv/Viewer/getStream/1/7811835.amf";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec( $ch );
curl_close($ch);

$request = new Zend_Amf_Request();
$request->initialize($result);
var_dump($request->getAmfBodies());

後はdump結果から欲しい値のキーを探して取得するだけ