0

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

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

我在使用会话时遇到问题。
3 步登录向导,第 1 步是简单的形式,uplaoder 在第 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->files)并重置我的身份验证会话。它只发生在 Safari 中。

请指导我。

4

0 回答 0