Fineupload on.complete recover id,name并执行PHP

时间:2014-04-18 07:35:17

标签: fine-uploader

我非常有兴趣获取上传文件的路径和名称,如果上传成功,请使用上传文件的名称和路径执行php。

我刚检查过 on.complete 可能有用,但如果有人有一个例子就会很棒。

.on('complete', function (event, id, filename, responseJSON) {
    uploadedFileCounter++;
    if (filesToUpload == uploadedFileCounter)
    {                


$(':input[type=button],:input[type=submit],:input[type=reset]').removeAttr('disabled');                                                
        //$("#overlay").fadeOut();
        $("#modal-box").fadeOut();
        $("#modal-overlay").fadeOut();               
    }

我在另一个帖子上找到了这个例子,但我不知道如何在php上获取路径和名称以存储在数据库中并使用上传的文件启动新进程。

1 个答案:

答案 0 :(得分:0)

所以这里是一个如何在普通的PHP中完成其中一些任务的例子。不建议生产!

要在PHP中获取文件名:

function getName(){

    // First we check if the user has provided an edited version of the filename.
    // see: http://docs.fineuploader.com/branch/master/features/filename-edit.html
    if (isset($_REQUEST['qqfilename']))
        return $_REQUEST['qqfilename'];

    // Otherwise we return whatever the browser/fine-uploader has named the file.
    // see: http://docs.fineuploader.com/endpoint_handlers/traditional.html
    if (isset($_FILES[$this->inputName]))
        return $_FILES['qqfile']['name'];

}

用PHP获取UUID:

// see: http://docs.fineuploader.com/endpoint_handlers/traditional.html
$uuid = $_REQUEST['qquuid'];

在磁盘上创建路径的一种方法是将uuid与文件名结合使用,如下所示:

$path = join(DIRECTORY_SEPARATOR, array($uuid, get_name()));

此时,您可以使用路径,uuid,文件名或其他来自上传器的数据执行任何操作(例如,将数据保存在数据库中,......)

如果有一些原因需要精通上传者知道路径,那么你可以在响应中返回它并在onComplete处理程序中使用它:

.on('complete', function (event, id, filename, responseJSON) {
    var path = responseJSON.path;
    // do something ...
}