Php JQuery文件上载自定义路径问题

Php JQuery文件上载自定义路径问题,php,image-uploading,jquery-file-upload,Php,Image Uploading,Jquery File Upload,我正在使用JQuery文件上传插件来添加将文件上传到我的网站的可能性 上传脚本位于类似“index.php?cartella_id=x”的页面中(x是表示相册id的数字) 我想存储如下文件: server/php/files - directory 1/ - - Image x - - Image y - directory 2/ - - Image z - - Image z(2) 我基本上想为每个相册创建一个不同的目录 像我想要的那样存储图像并不困难,因为我通过使用如下形式的隐藏输入传递$

我正在使用JQuery文件上传插件来添加将文件上传到我的网站的可能性

上传脚本位于类似“index.php?cartella_id=x”的页面中(x是表示相册id的数字)

我想存储如下文件:

server/php/files
- directory 1/
- - Image x
- - Image y
- directory 2/
- - Image z
- - Image z(2)
我基本上想为每个相册创建一个不同的目录

像我想要的那样存储图像并不困难,因为我通过使用如下形式的隐藏输入传递$cartella_id

<input type="hidden" name="cartella_id" value="<?php echo $cartella_id; ?>">
session_start();
if(!isset($_SESSION["username"])) {
    die();
    }


if(isset($_REQUEST["cartella_id"])) {
    $cartella_id = (int) $_REQUEST["cartella_id"];
    $sql = "SELECT * FROM cartelle WHERE cartella_id = $cartella_id";
    $query = mysql_query($sql);
    if($cartella = mysql_fetch_array($query)) {
        $upload_dir = '/files/'.$cartella_id.'/';
        } else {
        die();
        }
} else {
    die();
}
在UploadHandler.php页面中,我编辑了“upload\u dir”和“upload\u url”选项

'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/'.$_REQUEST["cartella_id"].'/',
            'upload_url' => $this->get_full_url().'/files/'.$_REQUEST["cartella_id"].'/',
上传效果很好。。。问题是,如果我刷新上传页面,我就看不到已经上传的文件,就像没有指定自定义路径时脚本显示的那样。我可以使用$\u会话来解决此问题,但我不喜欢此解决方案,而且删除按钮在任何情况下都不起作用

我研究了很多PHP代码,也在谷歌上搜索了很多,但我找不到适合我的解决方案

当脚本检查现有文件(我找不到那段代码)时,如何发送自定义变量? 如何使删除按钮工作


提前感谢

所以我通过编辑js/main.js解决了第一个问题(即使在重新加载页面后也能看到文件)。 我编辑了这个:

url: $('#fileupload').fileupload('option', 'url'),
对此

url: ($('#fileupload').fileupload('option', 'url') + "?cartella_id="+ document.getElementById('cartella_id').value),

但是仍然需要让删除按钮正常工作。

因此我通过编辑js/main.js解决了第一个问题(即使在重新加载页面后也要使文件可见)。 我编辑了这个:

url: $('#fileupload').fileupload('option', 'url'),
对此

url: ($('#fileupload').fileupload('option', 'url') + "?cartella_id="+ document.getElementById('cartella_id').value),

但是仍然必须使删除按钮正常工作。

我遇到了同样的问题,我解决了它,启用了用户目录并覆盖了类UploadHandler中的方法,如下所示:

我在删除url中添加了一个额外的参数

My index.php:

<?php

error_reporting(E_ALL | E_STRICT);

require('UploadHandler.php');

class CustomUploadHandler extends UploadHandler {

    protected function get_user_id() {
        return $_REQUEST['recordId'];
    }

    protected function set_additional_file_properties($file) {
        $file->deleteUrl = $this->options['script_url']
            .$this->get_query_separator($this->options['script_url'])
            .$this->get_singular_param_name()
            .'='.rawurlencode($file->name)
            .'&recordId='.$_REQUEST['recordId']
            ;
        $file->deleteType = $this->options['delete_type'];
        if ($file->deleteType !== 'DELETE') {
            $file->deleteUrl .= '&_method=DELETE';
        }
        if ($this->options['access_control_allow_credentials']) {
            $file->deleteWithCredentials = true;
        }
    }   

}

$upload_handler = new CustomUploadHandler(array(
    'user_dirs' => true,
));

我没有编辑UploadHandler.php,我遇到了同样的问题,我解决了它,启用了用户目录并覆盖了类UploadHandler中的方法,如下所示:

我在删除url中添加了一个额外的参数

My index.php:

<?php

error_reporting(E_ALL | E_STRICT);

require('UploadHandler.php');

class CustomUploadHandler extends UploadHandler {

    protected function get_user_id() {
        return $_REQUEST['recordId'];
    }

    protected function set_additional_file_properties($file) {
        $file->deleteUrl = $this->options['script_url']
            .$this->get_query_separator($this->options['script_url'])
            .$this->get_singular_param_name()
            .'='.rawurlencode($file->name)
            .'&recordId='.$_REQUEST['recordId']
            ;
        $file->deleteType = $this->options['delete_type'];
        if ($file->deleteType !== 'DELETE') {
            $file->deleteUrl .= '&_method=DELETE';
        }
        if ($this->options['access_control_allow_credentials']) {
            $file->deleteWithCredentials = true;
        }
    }   

}

$upload_handler = new CustomUploadHandler(array(
    'user_dirs' => true,
));
我没有编辑UploadHandler.php