flash php post session

来源:互联网 发布:网络维护专员岗位职责 编辑:程序博客网 时间:2024/05/21 09:02
 

Flash和PHP交互中同步session

今天在使用Uploadify和thinkphp进行多文件上传时遇到一个问题,在选择上传的文件并自动上传完成之后,弹出警告窗口提示“http 301”或者“http 302”重定向。后来发现是因为通过Flash插件发起的请求是另外一个客户端发起的,跟浏览器的会话不一致,而我的服务器后端代码恰好是有登录认证的。这就需要我们把当前的session_id通过url或者post的方式传递给php。

一开始我设想将session_id作为query_string传递给php后(即$_GET['session_id']或者$_POST['session_id']),通过session_destory()、session_id($_REQUEST['session_id'])、session_start()系列函数,将flash的会话同步为和浏览器一致。而一技术群里有高手提醒说只要把php.ini中的session.name作为参数传递,PHP就会自动处理了。也就是$_GET或者$_POST或者$_COOKIE数组里有一个“PHPSESSID=当前会话的id”,就能让php自动处理、实现会话的传递了。就是这样:

$("#uploadify").uploadify({    'uploader'       : '/xxx/xxx/uploadify.swf',    'script'         : '/xxx/xxx/xxx.php',    'scriptData'     : {'PHPSESSID' : '<?= session_id() ?>'},    ....

或者:

$("#uploadify").uploadify({    'uploader'       : '/xxx/xxx/uploadify.swf',    'script'         : '/xxx/xxx/xxx.php?PHPSESSID=<?= session_id() ?>',    ...

不过谁能告诉我Flash的Cookies要怎么清除啊。。因为这个原因调试过程中一直困难重重。哈哈。。实在太笨了

 
 
 
 
这是今天解决的的一个问题,哈哈
不过 我发现flash里只传PHPSESSID参数,赋值为空也可以……