jQuery Blueimp上传插件的自定义$ options目录?

Jak*_*ake 3 php jquery plugins file-upload blueimp

我一直在使用blueimp jQuery文件上传插件,我正在尝试设置用户可以更改上传的自定义字段.

在PHP类中,有一个构造设置所有默认选项变量.我正在寻找可存储此数据的最佳方式,因此在用户设置值后,它将另存为新的默认上传文件夹.我正在考虑将外部XML文件导入到PHP脚本中.

这是上传类构造函数:

    function __construct($options=null) {
    $this->options = array(
        'script_url' => $this->getFullUrl().'/',
        'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的,我很乐意澄清任何事情.但基本上 - 我如何允许用户手动输入目录结构,并成为图像的新上传目录?我在哪里可以保存这个新的字符串变量?可能不在PHP内部,但可能在外部文件中,如XML或JSON?

use*_*629 5

我注意到你和我几乎在同一时间在github上发布了一个blueimp上传问题.我不确定我有完整的答案,但是让我告诉你到目前为止我找到的答案.也许它会有所帮助:

我一直在寻找一种方法来过滤用户在经过身份验证的系统中上传的文件.我发布了github.com/blueimp/jQuery-File-Upload/issues/1578.插件作者建议我在服务器端进行过滤.我找到了github.com/blueimp/jQuery-File-Upload/issues/1149,它解释了如何在服务器端进行过滤.我做到了这一点,它的工作就上传而言.我现在设置了每个用户在上传文件夹中有一个子文件夹,名为其唯一ID号,其中包含其图像.所以无论如何,这是一种设置上传路径的动态方式.也许你可以使用它.

我目前的问题是,尽管我可以确认图像已上传,但它们在下载表中不可见.请参阅github.com/blueimp/jQuery-File-Upload/issues/1587.

我尝试修复此问题的一次尝试包括尝试将选项传递给构造函数:

这是我在blueimp index.php文件中的代码:

$customer_path_files = dirname($_SERVER['SCRIPT_FILENAME']) .     DIRECTORY_SEPARATOR.         'files' . DIRECTORY_SEPARATOR . $uid . DIRECTORY_SEPARATOR;
    if (!file_exists($customer_path_files)) {
    @mkdir($customer_path_files);
}
$customer_path_thumbnails = dirname($_SERVER['SCRIPT_FILENAME']) . DIRECTORY_SEPARATOR     . 'thumbnails' . DIRECTORY_SEPARATOR . $uid . DIRECTORY_SEPARATOR;
if (!file_exists($customer_path_thumbnails)) {
    @mkdir($customer_path_thumbnails);
}

$options=array(
'upload_dir' => $customer_path_files,
'upload_url' => base_url().'blueimp/server/php/files/'.$uid.'/',
'thumbnail' => array(
                'upload_dir' => $customer_path_thumbnails,
                'upload_url' => base_url().'blueimp/server/php/thumbnails/'.$uid.'/',
                'max_width' => 80,
                'max_height' => 80
            )
);


require('upload.class.php');

$upload_handler = new uploadHandler($options);
Run Code Online (Sandbox Code Playgroud)

希望这里有所帮助,


附录:

我希望如此.BTW我读过Jquery File Upload插件:动态更改上传路径?.这正是我想要做的.如果你也是,我只想说我还试图将隐藏字段中的会话变量(在我的情况下是codeigniter变体($ this-> session-> userdata('uid'))传递给插件的索引. php文件,但就像在帖子中一样,它在index.php中不存在(我想因为上传按钮没有被推送用于重新填充或删除).这是我第一次使用ajax,但我认为会话ID必须以某种方式通过Json发送.我正在试图解决这个问题.听起来就像Chris G所做的那样.如果有任何帮助我会发布以下问题并提供更多细节:

http://www.dynamicdrive.com/forums/showthread.php?p=279824