Здравейте,
Имам следната елементарна форма:
И php часта към нея
Въпроса ми е как да добавя още 2 полета за качване на файлове? Т.е. да добавя това към формата
Нужно е да са 3 различни полета... иначе с едно поле ми е ясно как става, но с 3... Как в PHP часта да го направя? В базата съм добавил още 2 полета upload_plan_2 и upload_materials
Имам следната елементарна форма:
Код:
<form class="form-horizontal" name="form-horizontal" action="" method="post" role="form" enctype="multipart/form-data" >
<div class="form-group">
<label class="control-label col-sm-2" for="upload_plan">Plan: </label>
<div class="col-sm-10">
<input type="file" class="form-control add1" name="file[]" id="upload_plan" multiple>
</div>
</div>
</form>
Код:
$permitted = array('application/vnd.ms-excel', 'application/pdf', 'application/msword', 'image/gif', 'image/jpeg', 'image/jpg', 'image/png', 'image/bmp'
,'application/msword', 'application/mspowerpoint', 'application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint',
'application/x-mspowerpoint', 'application/mspowerpoint', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip');
if (count($_FILES["file"]) > 0) {
$folderName = "uploads/";
$sql = "INSERT INTO document_upload ( upload_plan, upload_size, upload_type, document_path)
VALUES ( :upload_plan, :upload_size, :upload_type, :document_path)";
$stmt = $pdo->prepare($sql);
for ($i = 0; $i < count($_FILES["file"]["name"]); $i++) {
if ($_FILES["file"]["name"][$i] <> "") {
if ($permitted) {
$fileSize = $_FILES['file']['size'][$i];
$fileType = $_FILES['file']['type'][$i];
$fileName = $_FILES['file']['name'][$i];
$tmpName = $_FILES['file']['tmp_name'][$i];
$ext = substr(strrchr($fileName, "."), 1);
$randName = rand(10000, 990000) . '-' .$fileName;
$filepath = $folderName . $randName;
if (!move_uploaded_file($tmpName, $filepath)) {
$emsg .= "Error while uploadinf file - <strong>" . $_FILES["file"]["name"][$i] . "</strong>. Please try again. <br>";
} else {
$smsg .= "The file <strong>" . $_FILES["file"]["name"][$i] . "</strong> is added successfully. <br>";
/* * ****** insert into database starts ******** */
try {
$stmt->bindValue(":upload_plan", $randName, PDO::PARAM_STR);
$stmt->bindValue(":upload_size", $fileSize, PDO::PARAM_STR);
$stmt->bindValue(":upload_type", $fileType, PDO::PARAM_STR);
$stmt->bindValue(":document_path", $filepath, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->rowCount();
if ($result > 0) {
// file uplaoded successfully.
} else {
// failed to insert into database.
}
} catch (Exception $ex) {
$emsg .= "<strong>" . $ex->getMessage() . "</strong>. <br>";
}
}
} else {
$emsg .= "This file <strong>" . $_FILES["file"]["name"][$i] . "</strong> isn't permitted. <br>";
}
}
}
$msg .= (strlen($smsg) > 0) ? successMessage($smsg) : "";
$msg .= (strlen($emsg) > 0) ? errorMessage($emsg) : "";
} else {
$msg = errorMessage("You must add at least one file.");
}
Код:
<div class="form-group">
<label class="control-label col-sm-2" for="upload_plan_2">Plan_2: <br><small style="color: red;">( pdf only )</small></label>
<div class="col-sm-10">
<input type="file" class="form-control add" name="file[]" id="upload_plan_2" multiple>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="upload_materials">Materials: <br><small style="color: red;">( doc, ppt, pdf, xls, video or image )</small></label>
<div class="col-sm-10">
<input type="file" class="form-control add" name="file[]" id="upload_materials" multiple>
</div>
</div>