在safari中使用SWF上传程序的会话问题

时间:2013-02-11 10:30:04

标签: php zend-framework swfupload

我正在使用带有Jquery和PHP(Zend框架)的SWFuploader进行上传

http://code.google.com/p/swfupload/

我在使用会话时遇到问题 有 3步登录向导,第1步是简单表格,上层人员在第2步。 应用程序流程,提交后将第一步数据存储在会话中并重定向到第2步。当我尝试上传某些文件并尝试使用会话中存储的数据时,它什么也没给我。

我正在使用此代码:
JS代码

var settings = {
        flash_url : "/javascript/flash/swfupload.swf",
        upload_url: "/login/uploaditems", 
        post_params: {
                      'session' : <?php echo session_id;?>
                 },
        file_size_limit : "1 MB",
    file_types : "*.pdf;",
    file_types_description : "All Files",
    file_upload_limit : 100,
    file_queue_limit : 10,
    custom_settings : {
        cancelButtonId : "cancelBtn"
    },
    debug: false,
    button_image_url: "/images/chooseButton-2.png",

    // The event handler functions are defined in handlers.js
    file_queued_handler : fileQueued,
    file_queue_error_handler :fileQueueError,
    file_dialog_complete_handler : fileDialogComplete,
    upload_start_handler : uploadStart,
    upload_progress_handler : uploadProgress,
    upload_error_handler : uploadError,
    upload_success_handler : uploadSuccess,
    upload_complete_handler : uploadComplete,
    queue_complete_handler : queueComplete  // Queue plugin event
};

Swfu1 = new SWFUpload(settings);

PHP代码:

 if(isset($params['session'])) {
        session_id($params['session']);
    }
 $uploadedFilesSession = new Zend_Session_Namespace('uploadedFiles'.$params['session']);
    if(!isset($uploadedFilesSession->files))
    {
        $uploadedFilesSession->files = array();
    }
    if(!isset($uploadedFilesSession->files[$flag])){
        $uploadedFilesSession->files[$flag] = array();
    }  

每次进入条件!isset($ uploadedFilesSession-&gt; files)并重置我的身份验证会话。它只发生在Safari中。

请指导我。

0 个答案:

没有答案