Загрузка нескольких изобпажений в базу

Очень нужна ваша помощь. Пытаюсь сделать загрузчик изображений. Ничего не получается. Пожалуйста, можете написать на ajax или jquery + php какой-нибудь скрипт, который сможет осуществить мою задачу: Пользователь загружает несколько изображений в multiple input и эти изображения должны переместиться в определенную папку, а их имя должно уже улететь в базу. По поводу базы можно не заморачиваться, с этим уж сам, главное чтобы возвращалась переменная с уникальным именем этого файла. Заранее огромное спасибо!


Ответы (1 шт):

Автор решения: Denis640Kb

Первый файл (index.php):

<?php
?>
<script
        src="https://code.jquery.com/jquery-3.4.1.js"
        integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
        crossorigin="anonymous"></script>
<body>
<div class="download">
    <input type="file" multiple="multiple" accept=".txt,image/*">
    <a href="#" class="upload">Загрузить файлы</a>
</div>
<script>
$(window).on('load', function () {
    var files;
    $('input[type=file]').on('change', function(){
        files = this.files;
    });
    $('.upload').on( 'click', function(event){
        event.stopPropagation();
        event.preventDefault();
        var data = new FormData();
        $.each( files, function(key, value){
            data.append(key, value);
        });
        data.append('uploaded', 1);
        $.ajax({
            url         : './download.php',
            type        : 'POST',
            data        : data,
            dataType    : 'json',
            processData : false,
            contentType : false,
            success     : function(respond){
                if(typeof respond.error === 'undefined'){
                    console.log('Загружено');
                } else {
                    console.log('Error - ' + respond.error);
                }
            },
            error: function(Sch, status){
                console.log('Ошибка отправки: ' + status, Sch);
            }

        });

    });
})
</script>

Второй файл (download.php):

<?php
if( isset( $_POST['uploaded'] ) ){
    $uploaddir = './img';
    $files = $_FILES;
    $Arr = array();

    foreach( $files as $file ){
        $Name = $file['name'];

        if( move_uploaded_file( $file['tmp_name'], "$uploaddir/$Name" ) ){
            $Arr[] = realpath( "$uploaddir/$Name" );
        }
    }
    $data = $Arr ? array('files' => $Arr ) : array('error' => 'Ошибка загрузки файлов.');

    die(json_encode( $data ));
}
→ Ссылка