Php $\使用jqUploader时,会话不可用

Php $\使用jqUploader时,会话不可用,php,jquery,Php,Jquery,我使用PHP和jQuery作为上传程序。我有一个巨大的问题,虽然,并希望一些投入如何最好地处理这两个在一起 我正在使用一个PHP会话变量,在jquery上传程序完成后,我将使用该变量更改文件名。jquery url指向一个处理实际上传的PHP函数。当我使用jquery上传器上传图像时,会话变量永远不可用。我假设是因为上传程序本身没有使用会话 我如何解决这个问题?我需要使用该会话变量来更改文件名 编辑:我正在使用jqUploader 这是密码 function jqUploadPhoto( ){

我使用PHP和jQuery作为上传程序。我有一个巨大的问题,虽然,并希望一些投入如何最好地处理这两个在一起

我正在使用一个PHP会话变量,在jquery上传程序完成后,我将使用该变量更改文件名。jquery url指向一个处理实际上传的PHP函数。当我使用jquery上传器上传图像时,会话变量永远不可用。我假设是因为上传程序本身没有使用会话

我如何解决这个问题?我需要使用该会话变量来更改文件名

编辑:我正在使用jqUploader

这是密码

function jqUploadPhoto( ){
    $picSize = '50550500';
    $picDir  = '/photos';

    $temp = $_FILES['uploadfile']['name'];
    ... substr()... convert old name to new name

    $file = $_SESSION['name'].$ext; // This is set and can be echoed when this func is used from a browser. Not available in JQ

    if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file) == false){ // This dies because the filename isn't available.
      echo 'NOTOK';
    }

}

我在Uploadify上遇到了这个问题

问题

浏览器向站点发出请求,会话启动,并设置包含会话ID的cookie

然后使用Flash进行上传,请注意,Flash不是您的浏览器,它充当新请求。因此,将创建一个新的会话id和一个新的cookie,为您提供两个不同的会话

解决方案

我通过在页面中设置会话id来解决这个问题,例如,在一个隐藏的输入中,当Flash进行上传时,将会话id显示在请求中。上载时需要检测此会话id,并使用会话\u id-进行设置。然后,这将复制浏览器创建的会话


希望有帮助

如果我们知道具体是哪个“上传者”会更有帮助。嗨,mkoistinen,我在上面贴了。谢谢。一些代码也会有帮助:你是如何在会话中设置和检索变量的?请看一下我的编辑。