首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用两个浏览按钮和一个提交按钮上传两张不同图像

如何使用两个浏览按钮和一个提交按钮上传两张不同图像
EN

Stack Overflow用户
提问于 2018-06-01 02:13:46
回答 1查看 296关注 0票数 -1

我想上传两张图片,一张是用户的,另一张是他的ID,使用mysqli的提交按钮。这是我的HTML。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>

<form action="/action_page.php">
  your image: <input type="file" name="img"><br/>
  your Id card: <input type="file" name="img2">
  <input type="submit" name="publish" value="upload">
</form>

</body>
</html>

所有我知道的是上传单个图像一次,但如果要上传这些图像到数据库中的单次提交怎么办。我不是在写PHP,因为我不知道怎么做。我可以使用一个数组一次上传多个图像,但我想使用这种方法。用PHP可以吗??

PHP支持单次上传:

代码语言:javascript
复制
<?php
$dir = "uploads/";
$t_file = $dir . basename($_FILES["img"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($t_file,PATHINFO_EXTENSION));

if(isset($_POST["upload"])) {
    $check = getimagesize($_FILES["img"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
?>
EN

回答 1

Stack Overflow用户

发布于 2018-06-01 05:14:13

我可以用javascript来实现。所有尊敬的用户,请对那些不熟悉任何语言的人更有帮助。或者让这个网站只面向专家,而不是初学者。

因此,我使用PHP进行第一次上传,使用JS进行第二次图像上传。

下面是js:

代码语言:javascript
复制
<script>
function startUpload(){
document.getElementById('uploadProcess').style.visibility = 'visible';
document.getElementById('uploadForm').style.visibility = 'hidden';
return true;
}

function stopUpload(success,uploadedFile){
var result = '';
if (success == 1){
    result = '<span class="sucess-msg">The file was uploaded successfully!<\/span><br/><br/>';
    //Uploaded file preview
    var embed = document.getElementById("UploadedFile");
    var clone = embed.cloneNode(true);
    clone.setAttribute('src',uploadedFile);
    embed.parentNode.replaceChild(clone,embed);
}else {
   result = '<span class="error-msg">There was an error during file upload!<\/span><br/><br/>';
}
document.getElementById('uploadProcess').style.visibility = 'hidden';
document.getElementById('uploadForm').innerHTML = result + '<label>File:<input name="myfile" type="file" size="30" /><\/label><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /><\/label>';
document.getElementById('uploadForm').style.visibility = 'visible';      
return true;   
}
</script>

html:

代码语言:javascript
复制
<form action="upload.php" method="post" enctype="multipart/form-data" onsubmit="startUpload();">
 <p id="uploadForm">
 Select image to upload:
 <input type="file" name="fileToUpload" id="fileToUpload">
 <input type="file" name="myfile" id="fileToUpload1">
 <input type="submit" value="submitBtn" name="submit">
 </p>
</form>

和upload.php:

代码语言:javascript
复制
<?php
$success = 0;
$uploadedFile = '';

//File upload path
$uploadPath = 'uploads/';
$targetPath = $uploadPath . basename( $_FILES['myfile']['name']);

if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $targetPath)){
    $success = 1;
    $uploadedFile = $targetPath;
}

sleep(1);
?>
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

if(isset($_POST["submit"])) {
 $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
 if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
 } else {
    echo "File is not an image.";
    $uploadOk = 0;
 }
}


if ($uploadOk == 0) {
 echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}
}
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50630428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档