ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Let's PHPコミュのflash liteへパラメータを引継ぎ、flash liteから静的ページへ引き継ぐには?

  • mixiチェック
  • このエントリーをはてなブックマークに追加
お世話になります。
lfashliteとphpを使いパラメータを引継ぎたいと思っております。
参考サイトを見てもうまくいかず、恐縮ですが未熟な私にご教授お願いしたいと思います。


http://katapad.com/wp/2009/04/20/flash-lite1x_and_docomo_with_get_params/
上記参考サイトとまったく同じで、
静的ページからflash liteへパラメータを引継ぎ、また引き継いだflash lite swfから静的へも引き継ぐというやり方を行いたいのですが、うまくいきません。

最初、静的ページには例えば、
<a href="swf.php?bestword=unko">flashサイトへ</a>
と記述し、

飛び先のswf.phpには、
<?php
require_once "wrap.php";
$params = strstr($_SERVER["REQUEST_URI"], "?");
echo swf_param_insert('hoge.swf', "trackParams", $params);
?>
と記述し,hoge.swfを記述します。



そして、
swfファイルをphpファイルに見せるソースは、wrap.phpで
<?

header("Content-Type: application/x-shockwave-flash");
//echo swf_wrapper('test.swf',array('arg'=>"dsadasdasdasdadadsa"));
echo swf_wrapper('test.swf',$_GET);

function swf_wrapper($file,$item){
$tags = build_tags($item);
$src = file_get_contents($file);
$i = (ord($src[8])>>1)+5;
$length = ceil((((8-($i&7))&7)+$i)/8)+17;
$head = substr($src,0,$length);
return(
substr($head,0,4).
pack("V",strlen($src)+strlen($tags)).
substr($head,8).
$tags.
substr($src,$length)
);
}

function build_tags($item){
$tags = array();
foreach($item as $k => $v){
//$v = mb_convert_encoding($v,'SJIS','UTF-8');
array_push( $tags, sprintf(
"\x96%s\x00%s\x00\x96%s\x00%s\x00\x1d",
pack("v",strlen($k)+2), $k,
pack("v",strlen($v)+2), $v
));
}
$s = implode('',$tags);
return(sprintf(
"\x3f\x03%s%s\x00",
pack("V",strlen($s)+1),
$s
));
}
function swf_param_insert($file, $varsName, $item){
header("Content-Type: application/x-shockwave-flash");

$tags = build_string($varsName, $item);
$src = file_get_contents($file);
$i = (ord($src[8])>>1)+5;
$length = ceil((((8-($i&7))&7)+$i)/8)+17;
$head = substr($src,0,$length);
return(
substr($head,0,4).
pack("V",strlen($src)+strlen($tags)).
substr($head,8).
$tags.
substr($src,$length)
);
}

function build_string($varsName, $item) {

$s = sprintf(
"x96%sx00%sx00x96%sx00%sx00x1d",
pack("v",strlen($varsName)+2), $varsName,
pack("v",strlen($item)+2), $item
);
return(sprintf(
"x3fx03%s%sx00",
pack("V",strlen($s)+1),
$s
));
}
?>
と記述します。

すると、
URLにパラメータは引き継がれるのですが、
flash内にパラメータはひきつがれていないようで、
flashから外部に飛ばしてもパラメータが受け継がれません。

http://katapad.com/wp/upload_img/2009/04/mobile/swf.php?what_i_need=money
上記urlのようにやりたいのです。
どなたかご教授お願いします。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

Let's PHP 更新情報

Let's PHPのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング