Я пытаюсь добавить данные моего файла в базу данных при загрузке, но не могу заставить его работать.
Нет ошибок или чего-либо еще, пока для сообщения об ошибках установлено все.
Мой HTML:
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Kies bestand...</span>
<input id="fileupload" type="file" name="files[]">
</span>
<br>
<br>
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<div id="files" class="files"></div>
Мой jquery:
<script>
$(function () {
'use strict';
var url = window.location.hostname === 'site.nl/demo/server/php/' ?
'//site.nl/' : 'demo/server/php/';
$('#fileupload').fileupload({
url: url,
dataType: 'json',
formData: [
{ name: 'custom_dir', value: '/fileupload/<?PHP echo $_GET['bedrijf'] ?>/<?PHP echo $_GET['alias'] ?>/' },
{ name: 'cat_id', value: '<?PHP echo $gtc['id']; ?>'}
],
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo('#files');
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
Сама загрузка отлично работает, но когда я пытаюсь следовать: https://github.com/kuiwang/blueimp-jQuery-File-Upload/wiki/PHP-MySQL-database-integration, она не вставит данные в мою базу данных.
Как, например, просто вставить имя изображения и отправленное мной пользовательское значение с именем cat_id
в мою базу данных?
Я также попробовал этот пост: добавление имени загруженного файла в базу данных в плагине bluequ fileupload jquery
Но успеха тоже нет. Может быть, способы вставки изменились с обновлением видя, так как вопросу 5 лет?
Я добавил следующее в свой uploadhandler.php и добавил информацию о своей базе данных в массив опций, как объяснено в ответе SA выше:
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($size,$name)
{
$add_to_db = $this->query("INSERT INTO files
(image_type , image_size, file_name)
VALUES
('{$size['mime']}', '{$size[3]}', '{$name}')") or die(mysql_error());
return $add_to_db;
}
Это ничего не делает для меня.