在Uploadify中使用scriptData发送php会话变量

时间:2011-11-20 10:20:15

标签: jquery jquery-plugins file-upload uploadify

我使用uploadify来上传文件,我想将其存储在一个文件夹中,具体取决于单选按钮的值。我有多个文件夹,我希望用户使用单选按钮选择其中一个文件夹,然后上传文件。

使用单选按钮的值,我将决定该文件夹,我还想将用户ID附加到上传的文件。如何将单选按钮#type.val()和_SESSION ['id']的值发送到uploadify.php

我尝试过这样做,但它不起作用

<script type="text/javascript">
$(document).ready(function() {
  $('#file_upload').uploadify({
    'uploader'  : '/uploadify/uploadify.swf',
    'script'    : '/uploadify/uploadify.php',
    'cancelImg' : '/uploadify/cancel.png',
    'folder'    : '/uploads/operatingSystem',
    'auto'      : true,
    'scriptData': {'type':''},
    'onSelectOnce' : function(event,data) {
        $("#file_upload").uploadifySettings('scriptData', {'type' : ('#topic').val()});

  });
});
</script>

在此我仍然不知道如何给出会话ID,因为这不起作用

'scriptData': {'type':'', 'id':''},
 'onSelectOnce' : function(event,data) {
     $("#file_upload").uploadifySettings('scriptData', {'type' : ('#topic').val(), 'id' : <?php echo $_SESSION['id']; ?> });

3 个答案:

答案 0 :(得分:0)

通常它应该可以工作但是我的PHP 5.3.8如果我想使用会话变量它拼写$ _SESSION而不是_SESSION。也许是语言问题?

答案 1 :(得分:0)

我有同样的问题,我们最近将我们的开发服务器切换到5.3并且所有上传脚本都停止工作(使用$ _SESSION var,我通过post数据.-&gt; scriptData)。当我切换回5.2时,一切都像魅力一样。有些东西没有正确配置,我还没想到它。

答案 2 :(得分:0)

您可以通过formData轻松传递会话。这是一个示例代码:

JS代码:

$('#file_upload).uploadify({
    formData : { '<?php echo session_name();?>' : '<?php echo session_id();?>' }
});

PHP代码:

$session_name = session_name();
if (!isset($_POST[$session_name])) {
    exit;
} else {
    session_id($_POST[$session_name]);
    session_start();
}

我希望它会有所帮助。