G'全天,
所以,我正在使用jQuery文件上传,我有它工作正常,除了上传目的地,我可以设置静态路径没有烦恼,它工作正常,但是,我试图动态设置文件夹路径一个会话变量,我似乎无法让它工作,我已经尝试了2天,无法弄明白......
我发现此代码用于返回会话var(如果找到的话)(注意我已将错误的返回更改为&#39; 32 / Docs /&#39;给我一个假阳性检查来玩...)< / p>
public function getDocsULDIR($DocsULDIRkey)
{
return (isset($_SESSION[$DocsULDIRkey])) ? $_SESSION[$DocsULDIRkey] : '32/Docs/';
}
该函数似乎在UploadHandler.php
文件中有效,因为它将文件上传到误报中而不用担心:
'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/'.$this->getDocsULDIR('DBPrimaryKeyRef').'',
'upload_url' => $this->get_full_url().'/'.$this->getDocsULDIR('DBPrimaryKeyRef').'',
所以isset($_SESSION[$DocsULDIRkey])
语句似乎有问题......
现在,这让我感到困惑,因为我在调用jQuery文件上传脚本之前通过代码中的echo调用它并且它按预期显示,显示要设置的会话变量...
有人可以告诉我为什么公共函数getDocsULDIR($DocsULDIRkey)
没有检测到会话变量$_SESSION['DBPrimaryKeyRef']
吗?
提前致谢。
答案 0 :(得分:0)
首先,将你的问题分开:
1 - 尝试将其上传到静态目录,例如/ tmp,它对每个人都有写入权限,这样你就不会遇到任何问题
2 - 解决您的数据库和会话问题,通过将json返回到您的ajax上传(json_encode($ _ SESSION))并确保所有必需的变量都存在,确保在每次上传时您的会话数据都已正确设置。 / p>
3 - 使用会话变量上传路径制作胶水
只是为了确定,我看到你在那里使用$ _SERVER和$ _SESSION变量,但是上传经过$ _FILES,你使用它吗?
答案 1 :(得分:0)
感谢输入人员,结果我必须调用会话insode上传者中引用的受保护函数:)
protected function get_DIR_id() {
@session_start();
return $_SESSION["DocsULPrimKey"];
}