Этот плагин считывает файлы изображений на файлах blueimproot / server / php / files при загрузке страницы. Мне нужно прочитать записи из базы данных и заменить «загружать» структуру HTML своей пользовательской структурой. Я хочу показать каталожные продукты, на которые влияют элементы загрузки / удаления изображений через этот плагин.
Я сделал это до сих пор:
Я изменил public function get() { ... }
в blueimproot / server / php / upload.class.php для извлечения записей из базы данных. Эта функция возвращает объект json.
public function get() { /* default code of Blueimp $file_name = isset($_REQUEST['file']) ? basename(stripslashes($_REQUEST['file'])) : null; if ($file_name) { $info = $this->get_file_object($file_name); } else { $info = $this->get_file_objects(); } header('Content-type: application/json'); echo json_encode($info); */ include_once('../../../../connection.php'); $id_cat = $_REQUEST['catid']; $query = "SELECT id, name, price, img_path FROM products WHERE id_cat = $id_cat ORDER BY id"; $prods = mysql_query($query); $prod_arr = array(); while($prod = mysql_fetch_assoc($prods)) { $prod_arr[] = $prod; } header('Content-type: application/json'); echo json_encode($info); }
Я обнаружил, что функция вызывается из index.php в blueimproot / server / php :
switch ($_SERVER['REQUEST_METHOD']) { ... case 'GET': $upload_handler->get(); break; ...
}
Я не знаю, где обрабатывается возвращенный объект json для отображения в пользовательском интерфейсе. Прошло 2 дня и до сих пор не может отслеживать этот поток функций. Пожалуйста помоги. Благодарю.
Оригинальная онлайн-демонстрация: http://blueimp.github.com/jQuery-File-Upload/
Загрузка оригинального плагина: https://github.com/blueimp/jQuery-File-Upload/downloads
public function get() { /* $file_name = isset($_REQUEST['file']) ? basename(stripslashes($_REQUEST['file'])) : null; if ($file_name) { $info = $this->get_file_object($file_name); } else { $info = $this->get_file_objects(); } header('Content-type: application/json'); echo json_encode($info); */ $id_cat = $_REQUEST['catid']; $query = "SELECT id, name, price, img_path FROM products WHERE id_cat = $id_cat ORDER BY id"; $prods = mysql_query($query); $prod_arr = array(); while($prod = mysql_fetch_assoc($prods)) { //$prod_arr[] = $prod; $file = new stdClass(); $file->name = "";// here image name goes i do not find image name in your select query $file->size = filesize($prod["img_path"]);// should be complete path $file->url = $prod["img_path"];// should be relative path (http://localhost/images/234.jpg) $file->thumbnail_url = $prod["img_path"]; // thumbnail path $this->delete_type = "DELETE"; $this->delete_url = ""; //here delete url you can delete image from database array_push($prod_arr,$file); } header('Content-type: application/json'); echo json_encode($prod_arr); }
Мое предложение состоит в том, чтобы открыть вкладку «Сеть» в Firebug и наблюдать за любыми запросами GET на server/php/index.php
. Если это произойдет после определенного события, тогда вы сможете лучше понять, где искать.
Я просмотрел исходные файлы, и единственный запрос GET, который я нашел, был в main.js
$('#fileupload').each(function () { var that = this; $.getJSON(this.action, function (result) { if (result && result.length) { $(that).fileupload('option', 'done') .call(that, null, {result: result}); } }); }); }
После этого WIKI: https://github.com/blueimp/jQuery-File-Upload/wiki/Working-with-databases
Я настраиваю загрузки для вставки в базу данных, затем я изменил свою функцию GET следующим образом:
public function get() { $uploads = $this->query_db(); header('Content-type: application/json'); echo json_encode($uploads); }
и моя функция query_db выглядит следующим образом:
public function query_db() { $uploads_array = array(); $select_result = $this->query("SELECT * FROM `uploads` ORDER BY `file_name`") or die(mysql_error()); while($query_results = mysql_fetch_object($select_result)) { $file = new stdClass(); $file->id = $query_results->id; $file->name = $query_results->file_name; $file->size = $query_results->file_size; $file->type = $query_results->file_type; $file->url = "http://files.domain.com/".$query_results->file_name; $file->thumbnail_url = "http://thumbnails.domain.com/".$query_results->file_name; $file->delete_url = ""; $file->delete_type = "DELETE"; array_push($uploads_array,$file); } return $uploads_array; }