php - 如何使用php将2个不同输入中的2个文件上传到数据库中
问题描述
我正在尝试从 2 个单独的输入上传 2 个文件。我可以通过上传一个文件来上传并获得成功消息,但现在我需要将 2 个文件上传到数据库,如果它变成 2 个文件,我不知道该怎么做。我想重复两次代码以上传 2 个文件吗?或者有没有一种简单的方法可以做到这一点。这是我的代码:
//EMPLOYEE:Add
if(isset($_POST['emp_addbtn']))
{
$emp_name=$_POST['emp_name'];
$emp_dob=$_POST['emp_dob'];
$emp_gender=$_POST['emp_gender'];
$emp_nat=$_POST['emp_nat'];
$emp_phone=$_POST['emp_phone'];
$emp_email=$_POST['emp_email'];
$emp_curr_add=$_POST['emp_curr_add'];
$emp_perm_add=$_POST['emp_perm_add'];
$s_id=$_POST['s_id'];
$c_id=$_POST['c_id'];
$emp_start_date=$_POST['emp_start_date'];
$emp_as=$_POST['emp_as'];
$emp_job_id=$_POST['emp_job_id'];
$emp_end_date=$_POST['emp_end_date'];
$emp_status=$_POST['emp_status'];
$contact_person=$_POST['contact_person'];
$rlt=$_POST['rlt'];
$emer_phone =$_POST['emer_phone '];
$emer_email=$_POST['emer_email'];
$bank_name=$_POST['bank_name'];
$acc_name=$_POST['acc_name'];
$acc_num=$_POST['acc_num'];
$pass_no=$_POST['pass_no'];
$arrival=$_POST['arrival'];
$pass_expiry=$_POST['pass_expiry'];
$pass_status=$_POST['pass_status'];
$visa_type=$_POST['visa_type'];
$visa_issued=$_POST['visa_issued'];
$visa_expiry=$_POST['visa_expiry'];
$emp_img=$_FILES['emp_img'];
$img_name=$_FILES['emp_img']['name'];
$img_tmpName=$_FILES['emp_img']['tmp_name'];
$img_size=$_FILES['emp_img']['size'];
$img_error=$_FILES['emp_img']['error'];
$img_type=$_FILES['emp_img']['type'];
$imgExt=explode('.', $img_name);
$imgActualExt= strtolower(end($imgExt));
//files allows to upload
$img_allow=array('jpg','jpeg','png');
if(in_array($imgActualExt, $img_allow))
{
if($img_error === 0)
{
if($img_size < 10000000)
{
// $docNewName= uniqid('',true).".".$docActualExt;
$imgDestination='emp_upload/'.$img_name;
move_uploaded_file($img_tmpName, $imgDestination);
$query="INSERT INTO employee (emp_name,emp_dob,emp_gender,emp_national,emp_phone,emp_email,emp_curr_add,emp_perm_add,s_id,c_id,emp_start,emp_as,emp_job_id,emp_end,emp_status,contact_person,rlt,emer_phone,emer_email,bank_name,acc_name,acc_num,emp_img)
VALUES ('$emp_name','$emp_dob','$emp_gender','$emp_nat','$emp_phone','$emp_email','$emp_curr_add','$emp_perm_add','$s_id','$c_id','$emp_start_date','$emp_as','$emp_job_id','$emp_end_date','$emp_status','$contact_person','$rlt','$emer_phone','$emer_email','$bank_name','$acc_name','$acc_num','$img_name')";
$query_run=mysqli_query($conn,$query);
if($query_run)
{
$query2="INSERT INTO passport (pass_no,e_id,arrival,pass_expiry,pass_status,visa_type,visa_issued,visa_expiry)
VALUES ('$pass_no',LAST_INSERT_ID(),'$arrival','$pass_expiry','$pass_status','$visa_type','$visa_issued','$pass_expiry')";
$query_run2=mysqli_query($conn,$query2);
if ($query_run2)
{
$_SESSION['success']="New Employee Has Been Added";
header('Location: employee.php');
}
else
{
$_SESSION['status']="Error on passport";
header('Location: employee.php');
}
}
else{
$_SESSION['status']="New Employee Has NOT Been Added";
header('Location: employee.php');
}
}
else
{
$_SESSION['status']="The file is too big!";
header('Location: addemp2.php');
}
}
else
{
$_SESSION['status']="Error uploading file";
header('Location: addemp2.php');
}
}
else
{
$_SESSION['status']="Wrong type of image";
header('Location: addemp2.php');
}
解决方案
推荐阅读
- mysql - 在 Node Mysql (Discord.js) 中获取未定义的结果
- css - 隐藏前面图像之外的多余部分
- android - 如何等待所有异步完成?
- python - 写了一个带有列表到文件的列的 pandas DF,如何读回它?
- android - 在 Java Android Studio 中将用户从用户文档映射到 FirebaseUser
- c# - 将文本转换为单词时出现异常
- android - Unity Android 构建失败:指定的可执行文件不是此 OS 平台的有效应用程序
- pdf - 基于列值的 xsl fo:table 中的动态行数跨越
- javascript - 测试消耗额外组件的组件的关注点分离是什么
- arrays - 尝试将对象数组保存到 UserDefaults