当前位置:Gxlcms > PHP教程 > Flash和PHP交互中同步session

Flash和PHP交互中同步session

时间:2021-07-01 10:21:17 帮助过:35人阅读

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' : ''},
    ....

或者:

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

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

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

人气教程排行