0

アップロードにJqueryとPHP(Zendフレームワーク)でSWFuploaderを使用しています

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

セッションの使用中に問題が発生しました。3 ステップ
のログイン ウィザード があり、1 ステップ目はシンプルなフォームで、アップロードは2 ステップ目です。申請の流れは、1st stepのデータをsubmit後にセッションに格納し、2nd stepにリダイレクトします。いくつかのファイルをアップロードして、セッションに保存されているデータを使用しようとしても、何も得られません。

私はこのコードを使用しています:
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