Ну вытаскиваешь из БД нужные картинки, затем формируешь из них json и используешь в initialPreview
Что-то вроде такого:
<?php
// Твои картинки из БД
$images = [
[
'src' => 'http://lorempixel.com/1920/1080/nature/1',
'caption' => 'Image #1',
'id' => 12 // Айди картинки в БД
],
[
'src' => 'http://lorempixel.com/1920/1080/nature/2',
'caption' => 'Image #2',
'id' => 15
]
];
?>
<script type="text/javascript">
const myImages = <?=json_encode($images)?>;
let myInitialPreview = [];
let myInitialPreviewConfig = [];
for( let i in myImages ) {
myInitialPreview.push(myImages[i].src);
myInitialPreviewConfig.push({
caption: myImages[i].caption,
key: i,
extra: { id: myImages[i].id }
});
}
$("#file_input").fileinput({
deleteUrl: 'delete.php', // Тут твой обработчик при удалении файла
overwriteInitial: false,
initialPreviewAsData: true,
initialPreview: myInitialPreview,
initialPreviewConfig: myInitialPreviewConfig
});
</script>
// delete.php
<?php
if( $image_id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT) ) {
// Удаляешь картинку из БД, $image_id = id удаляемой картинки
}
echo json_encode(['success' => 1]);
?>