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