gpt4 book ai didi

php - 同一表单上的多个上传字段

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:19 25 4
gpt4 key购买 nike

目前我有这个文件上传表单

 <form class="form-horizontal" action="" method="post" role="form" enctype="multipart/form-data">                         
<div class="form-group">
<label class="control-label col-sm-2" for="upload_sheet">sheets:</label>
<div class="col-sm-10">
<input type="file" class="form-control" id="file" name="file" id="upload_sheet">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-4">
<input type="submit" name="add" value="Add New" class="btn btn-primary btn-block">
</div>
</div>
</form>

这是php部分

if (count($_FILES["file"]) > 0) {

$folderName = "uploads/";

$sql = "INSERT INTO document_upload ( upload_sheet, upload_size, upload_type, document_path)
VALUES ( :upload_sheet, :upload_size, :upload_type, :document_path)";
$stmt = $pdo->prepare($sql);

if ($permitted) {

$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
$fileName = $_FILES['file']['name'];
$tmpName = $_FILES['file']['tmp_name'];

$ext = substr(strrchr($fileName, "."), 1);
$randName = rand(10000, 990000) . '-' .$fileName;
$filepath = $folderName . $randName;

if (!move_uploaded_file($tmpName, $filepath)) {
$emsg .= "Error while - <strong>" . $_FILES["file"]["name"] . "</strong> is uploaded. Please try again. <br>";
} else {
$smsg .= "The file <strong>" . $_FILES["file"]["name"] . "</strong> is added successfully. <br>";
/* * ****** insert into database starts ******** */

try {
$stmt->bindValue(":upload_sheet", $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"] . "</strong> isn't permitted. <br>";
}

这工作得很好,我可以将新文件添加到数据库中。我的问题是如何添加第二个 <input>对于该表单上的文件以及我需要在 php 部分更改什么以便从同一表单上的 2 个输入字段上传 2 个文件?

最佳答案

对于您的表单部分:您可以在 input 标记的末尾添加 multiple,如下所示:

<input type="file" class="form-control" id="file" name="file" id="upload_sheet" multiple>
<input type="file" class="form-control" id="file" name="file2" id="upload_sheet2" multiple>

更改第二个输入的 nameid 以使其唯一。

然后用户可以选择超过 1 个文件并将它们添加到上传。

HTML5 以来支持

多个

对于 PHP 中的 2 个不同输入,您可以更改第一个 if 语句

if (count($_FILES["file"]) > 0 || count($_FILES["file2"]) > 0) {

//your logic/uploading

|| = OR 如果两个必填字段都有你做的文件 && = AND

关于php - 同一表单上的多个上传字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com