将上传的文件名添加到blueimp fileupload jquery插件中的数据库 [英] adding the uploaded file name to database in blueimp fileupload jquery plugin

查看:158
本文介绍了将上传的文件名添加到blueimp fileupload jquery插件中的数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望有人对blueimp fileupload jquery插件有一些经验: https:// github .com / blueimp / jQuery-File-Upload

I am hoping someone has some experience with the blueimp fileupload jquery plugin at : https://github.com/blueimp/jQuery-File-Upload

如何将上传的文件名添加到数据库?

How to add the uploaded file name to database ?

推荐答案

在选项数组中(查找 $ this-> options = array(
, / p>

In the options array (look for $this->options = array( ) and insert

'database' => 'database_name',  
'host' => 'localhost',  
'username' => 'user',  
'password' => 'password',  


$ b b

然后

Then after

protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
        $index = null, $content_range = null) {
    $file = new stdClass();
    $file->name = $this->get_file_name($name, $type, $index, $content_range);
    $file->size = $this->fix_integer_overflow(intval($size));
    $file->type = $type;</code></pre>

插入此代码

    //Start added coded
    // prepare the image for insertion
    $data = addslashes (file_get_contents($uploaded_file));

    // get the image info..
    $size = getimagesize($uploaded_file);     

    $file->upload_to_db = $this->add_img($data, $size, $name);

    //end added code

并且在函数handle_file_upload之后插入以下

and after the function handle_file_upload insert the following code to actually upload the image to the database.

function query($query) {  
    $database = $this->options['database'];  
    $host = $this->options['host'];  
    $username = $this->options['username'];  
    $password = $this->options['password'];  
    $link = mysql_connect($host,$username,$password);  
    if (!$link) {  
        die(mysql_error());  
    }
    $db_selected = mysql_select_db($database);  
    if (!$db_selected) {  
        die(mysql_error());  
    }  
    $result = mysql_query($query);  
    mysql_close($link);  
    return $result;  
}  

function add_img($data,$size,$name)  
{  
    $add_to_db = $this->query("INSERT INTO your_database_name
            (image_type ,image, image_size, file_name)
            VALUES
            ('{$size['mime']}', '{$data}', '{$size[3]}', '{$name}')") or die(mysql_error());  
    return $add_to_db;  
}

如果您不想要将 add_img($ data,$ size,$ name)更改为 add_img($ size,$ name)不传递$ data变量。 $ data 变量应存储为中或长blob。

This will store the actual image in the database if you don't want that change the add_img($data,$size,$name) to add_img($size,$name) and just don't pass the $data variable. The $data variable should be stored as a medium or long blob.

您也可以注释掉fileupload目录的东西,所以你不会得到错误,如果你没有什么图像上传到目录。这是在 protected function handle_file_upload

You can also comment out the fileupload to directory stuff so you don't get errors if you don't what the images uploaded to a directory. This is in the protected function handle_file_upload

//comment out file upload stuff since storing in database
    /*
    if ($this->validate($uploaded_file, $file, $error, $index)) {
        $this->handle_form_data($file, $index);
        $upload_dir = $this->get_upload_path();
        if (!is_dir($upload_dir)) {
            mkdir($upload_dir, $this->options['mkdir_mode'], true);
        }
        $file_path = $this->get_upload_path($file->name);
        $append_file = $content_range && is_file($file_path) &&
            $file->size > $this->get_file_size($file_path);
        if ($uploaded_file && is_uploaded_file($uploaded_file)) {
            // multipart/formdata uploads (POST method uploads)
            if ($append_file) {
                file_put_contents(
                    $file_path,
                    fopen($uploaded_file, 'r'),
                    FILE_APPEND
                );
            } else {
                move_uploaded_file($uploaded_file, $file_path);
            }
        } else {
            // Non-multipart uploads (PUT method support)
            file_put_contents(
                $file_path,
                fopen('php://input', 'r'),
                $append_file ? FILE_APPEND : 0
            );
        }
        $file_size = $this->get_file_size($file_path, $append_file);
        if ($file_size === $file->size) {
            $file->url = $this->get_download_url($file->name);
            list($img_width, $img_height) = @getimagesize($file_path);
            if (is_int($img_width) &&
                    preg_match($this->options['inline_file_types'], $file->name)) {
                $this->handle_image_file($file_path, $file);
            }
        } else {
            $file->size = $file_size;

            if (!$content_range && $this->options['discard_aborted_uploads']) {
                unlink($file_path);
                $file->error = 'abort';
            }
        }
        $this->set_additional_file_properties($file);
    }
    */

这篇关于将上传的文件名添加到blueimp fileupload jquery插件中的数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆