【问题标题】:Sending php session variable using scriptData in Uploadify在 Uploadify 中使用 scriptData 发送 php 会话变量
【发布时间】:2011-11-20 10:20:15
【问题描述】:

我正在使用 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']; ?> });

【问题讨论】:

    标签: jquery jquery-plugins file-upload uploadify


    【解决方案1】:

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

    【讨论】:

    • 不,这不是问题,我只使用了 $_SESSION。当我使用这个脚本时,uploadify 按钮的样式消失了。我认为我写的脚本有问题
    • 好的。所以这不是拼写问题,但是如何在 JS 中制作内联 PHP?
    • 我没有得到你的要求???有没有办法我可以在uploadify中发送一个PHP会话变量,进一步我也无法发送按钮值
    • 您有 2 个选择:1. 内联 PHP 或 2. 或者在将此代码附加到 file_upload 之前选择 $_SESSION 变量。但是uploadify 是一个PHP 脚本,您不需要将$_SESSION 变量传递给PHP 脚本。你能澄清一下你的问题吗?
    • 实际上是我无法访问uploadify php脚本中的$_SESSION变量,这就是为什么我需要从这里以某种方式发送它
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以通过 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();
      }
      

      我希望它会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 2016-02-29
        • 2023-03-15
        • 2011-10-13
        • 2011-03-08
        • 1970-01-01
        • 2017-08-29
        相关资源
        最近更新 更多