Как использовать Jquery-File-Upload PHP с базой данных в последней версии?

Как использовать jQuery-File-Upload с PHP и базой данных? Я хочу вставлять или удалять строки об изображениях при загрузке или удалении изображений, и имя каждого изображения будет равно как время (), когда они будут загружены в каталог.

Все результаты, которые я нашел через google, говорят мне, что мне нужно отредактировать файл upload.class.php, но последняя версия имеет только index.php и UploadHandler.php …

файл UploadHandler.php имеет класс UploadHandler с кодом

public function post($print_response = true) { if (isset($_REQUEST['_method']) && $_REQUEST['_method'] === 'DELETE') { return $this->delete($print_response); } $upload = isset($_FILES[$this->options['param_name']]) ? $_FILES[$this->options['param_name']] : null; // Parse the Content-Disposition header, if available: $file_name = isset($_SERVER['HTTP_CONTENT_DISPOSITION']) ? rawurldecode(preg_replace( '/(^[^"]+")|("$)/', '', $_SERVER['HTTP_CONTENT_DISPOSITION'] )) : null; $file_type = isset($_SERVER['HTTP_CONTENT_DESCRIPTION']) ? $_SERVER['HTTP_CONTENT_DESCRIPTION'] : null; // Parse the Content-Range header, which has the following form: // Content-Range: bytes 0-524287/2000000 $content_range = isset($_SERVER['HTTP_CONTENT_RANGE']) ? preg_split('/[^0-9]+/', $_SERVER['HTTP_CONTENT_RANGE']) : null; $size = $content_range ? $content_range[3] : null; $info = array(); if ($upload && is_array($upload['tmp_name'])) { // param_name is an array identifier like "files[]", // $_FILES is a multi-dimensional array: foreach ($upload['tmp_name'] as $index => $value) { $info[] = $this->handle_file_upload( $upload['tmp_name'][$index], $file_name ? $file_name : $upload['name'][$index], $size ? $size : $upload['size'][$index], $file_type ? $file_type : $upload['type'][$index], $upload['error'][$index], $index, $content_range ); } } else { // param_name is a single object identifier like "file", // $_FILES is a one-dimensional array: $info[] = $this->handle_file_upload( isset($upload['tmp_name']) ? $upload['tmp_name'] : null, $file_name ? $file_name : (isset($upload['name']) ? $upload['name'] : null), $size ? $size : (isset($upload['size']) ? $upload['size'] : $_SERVER['CONTENT_LENGTH']), $file_type ? $file_type : (isset($upload['type']) ? $upload['type'] : $_SERVER['CONTENT_TYPE']), isset($upload['error']) ? $upload['error'] : null, null, $content_range ); } return $this->generate_response($info, $print_response); } public function delete($print_response = true) { $file_name = $this->get_file_name_param(); $file_path = $this->get_upload_path($file_name); $success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path); if ($success) { foreach($this->options['image_versions'] as $version => $options) { if (!empty($version)) { $file = $this->get_upload_path($file_name, $version); if (is_file($file)) { unlink($file); } } } } return $this->generate_response($success, $print_response); } 

Какие строки мне нужно добавить для вставки или удаления имен файлов в mysql?

PS: Я использую PHP

    Я использую подкрепление и теперь могу сказать, что вместо файла upload.class.php необходимо изменить файл UploadHandler.php и использовать следующий:

    Найдите эту строку -> $ this-> options = array (

    Добавьте следующий код в следующие строки:

     // mysql connection settings 'database' => '**YOUR DATABASE**', 'host' => '**localhost**', 'username' => '**YOUR USERNAME**', 'password' => '**YOUR PASSWORD**', // end 

    Итак, теперь вам нужно написать функцию для SQL Query, скопировать и вставить следующий код, например, после функции handle_file_upload:

     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; } 

    Добавить данные файла в базу данных Я объясняю эту функцию загрузкой изображения, поэтому здесь мы сохраняем имя изображения в базе данных. Добавьте эту функцию также в файл upload.class.php

     function add_img($whichimg) { $add_to_db = $this->query("INSERT INTO yourtable (**yourcolumnone**) VALUES ('".$whichimg."')") or die(mysql_error()); return $add_to_db; } 

    поэтому в этой функции мы вызываем запрос функции со строкой между зажимами.

    Вы также можете вставить другие данные, например, размер файла.

    По крайней мере, мы должны вызвать эту функцию со следующим кодом в конце функции handle_file_upload. Вставьте следующий код под или над этой строкой: $ file-> size = $ file_size;

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

    Удалить запись, которую мы создали. Удаление записи, которую мы сделали ранее, очень просто, мы создаем новую функцию, которая также делает запрос sql для его удаления.

     function delete_img($delimg) { $delete_from_db = $this->query("DELETE FROM yourtable WHERE yourcolumnone = '$delimg'") or die(mysql_error()); return $delete_from_db; } 

    Теперь мы должны вызвать функцию, на этот раз функции удаления. Перейдите к функции удаления и выполните поиск по этой строке: if ($ success) {вставьте следующий код.

     $this->delete_img($file_name); 

    Наслаждайтесь =)

    Вы должны перегрузить методы по умолчанию (как описано в документации), чтобы добавить свои пользовательские функции. Если вы измените исходные файлы, у вас будет больше работы, когда будет выпущена новая версия (или исправление) плагина.

    Для моих целей я в основном определил пользовательский класс, который расширяет исходный, и модифицировал только файл /server/php/index.php:

     class myUploadHandler extends UploadHandler { //do your stuff //for exemple if you are using a DB: //overload methods like handle_file_upload() for insertion in a DB, //set_additional_file_properties() if you need more fields linked to each uploaded file // or delete() also if you want to remove from DB } $upload_handler = new myUploadHandler(array( 'user_dirs' => true, 'download_via_php' => true, ));