Я пытаюсь зациклить ввод из поля выбора, чтобы он также мог зацикливаться с загрузкой muti-файла - PullRequest
0 голосов
/ 27 февраля 2019

В настоящее время я работаю над сценарием, который загружает несколько файлов одновременно, в настоящее время он загружает и создает каталог так, как я хочу, но он не будет вводить указанную информацию в базу данных, ЕСЛИ Я не делаю это по одному за раз (что я не хочу делать).В настоящее время он работает в локальной базе данных (XAAMP), и в файле конфигурации содержится информация, необходимая для подключения к базе данных.

Поле выбора ниже извлекает информацию из той же базы данных.Заранее спасибо за помощь.

<?php
                include("../config.php");

                if (isset($_POST['selectID'])) {
                    $UID = mysqli_real_escape_string($conn, $_POST['selectID']);
                }
                if (isset($_POST['submitImages'])) {

                    // File upload configuration
                    $targetDir = "images/" . $UID . "/";
                    $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) {
                            // File upload path
                            $fileName = basename($_FILES['files']['name'][$key]);
                            $targetFilePath = $targetDir . $fileName;

                            // Check whether file type is valid
                            $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION);
                            if (in_array($fileType, $allowTypes)) {
                                // Upload file to server
                                if (!file_exists('images/' . $UID . "/")) {
                                    mkdir('images/' . $UID . "/", 0777, true);
                                }
                                if (move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFilePath)) {
                                    // Image db insert sql
                                    $insertValuesSQL .= "('".$fileName."', '".$UID."'),";
                                } else {
                                    $errorUpload .= $_FILES['files']['name'][$key] . ', ';
                                }
                            } else {
                                $errorUploadType .= $_FILES['files']['name'][$key] . ', ';
                            }
                        }
                        if (!empty($insertValuesSQL)) {
                            $insertValuesSQL = trim($insertValuesSQL, ',');
                            // Insert image file name into database
                            $insert = mysqli_query($conn, "INSERT INTO rental_listing_pictures (name, uid) VALUES $insertValuesSQL");
                            if ($insert) {
                                $errorUpload = !empty($errorUpload) ? 'Upload Error: ' . $errorUpload : '';
                                $errorUploadType = !empty($errorUploadType) ? 'File Type Error: ' . $errorUploadType : '';
                                $errorMsg = !empty($errorUpload) ? '<br/>' . $errorUpload . '<br/>' . $errorUploadType : '<br/>' . $errorUploadType;
                                $statusMsg = "Files are uploaded successfully." . $errorMsg;
                            } else {
                                $statusMsg = "Sorry, there was an error uploading your file.";
                            }
                        }
                    } else {
                        $statusMsg = 'Please select a file to upload.';
                    }

                    // Display status message
                    echo $statusMsg;
                }
                ?>
                <div class="col-md-6">
                    <form class="pure-form pure-form-stacked" method="post" enctype="multipart/form-data" action="">
                        <fieldset>
                            <div class="pure-g">
                                <div class="pure-u-1 pure-u-md-1-1">
                                    <label for="selectID">Select House ID</label>
                                    <select id="selectID" name="selectID">
                                        <?php
                                        $sql = "SELECT * FROM rental_listings";
                                        $result = mysqli_query($conn, $sql);
                                        while ($row = mysqli_fetch_array($result)) {
                                            echo '<option value="' . $row['UID'] . '">' . $row['UID'] . '</option>';
                                        }
                                        ?>
                                    </select>
                                </div>
                                <div class="pure-u-1 pure-u-md-1-1">
                                    <label for="files">Images</label>
                                    <input multiple name="files[]" type="file"
                                           class="pure-u-24-24">
                                </div>
                                <button type="submit" name="submitImages" class="pure-button pure-button-primary">
                                    Submit
                                </button>
                            </div>
                        </fieldset>
                    </form>
                </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...