Загрузка нескольких изображений с использованием PHP, AJAX, JQUERY - PullRequest
0 голосов
/ 22 ноября 2018

, поэтому мне трудно загружать несколько изображений через php, ajax и jquery.Я новичок в этом, и я надеюсь, что кто-то может помочь мне с этим.Я уже пытался прочитать много решений с соответствующими вопросами здесь, но я не могу заставить его работать, поэтому я должен спросить сейчас сам.

Вот HTML:

<input type="file" name="files[]" id="files" multiple="true" accept="image/*" >
<button class = "add">Add</button>

скрипт:

$('.add').click(function(){
        var filedata = document.getElementsByName("files"),
            formdata = false;
    if (window.FormData) {
        formdata = new FormData();
    }
    var i = 0, len = filedata.files.length, img, reader, file;

    for (; i < len; i++) {
        file = filedata.files[i];

        if (window.FileReader) {
            reader = new FileReader();
            reader.onloadend = function(e) {
                showUploadedItem(e.target.result, file.fileName);
            };
            reader.readAsDataURL(file);
        }
        if (formdata) {
            formdata.append("files", file);
        }
    }
    if (formdata) {
        $.ajax({
            url: "http://localhost/try/new.php",
            type: "POST",
            data: formdata,
            processData: false,
            contentType: false,
            success: function(res) {
                alert('success');

            },       
            error: function(res) {
                    alert('fail');

             }       
             });
            }else{ alert('success'); }
            });

, а затем php

<?php
include_once 'dbConfig.php';
    $id= $_SESSION['id'];
    $targetDir = "uploads/";
    $allowTypes = array('jpg','png','jpeg','gif');

    $statusMsg = $errorMsg = $insertValuesSQL = $errorUpload = $errorUploadType = '';
    if(!empty(array_filter($_FILES['files']['name']))){
        foreach($_FILES['files']['name'] as $key=>$val){
            $fileName = basename($_FILES['files']['name'][$key]);
            $targetFilePath = $targetDir . $fileName;

            $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
            if(in_array($fileType, $allowTypes)){
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFilePath)){
                    $insertValuesSQL .= "('".$id."','".$fileName."', NOW()),";
                }else{
                    $errorUpload .= $_FILES['files']['name'][$key].', ';
                }
            }else{
                $errorUploadType .= $_FILES['files']['name'][$key].', ';
            }
        }
        }
        ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...