我使用表单上传图片。我有2个桌子,一个是product_profile,另一个是product_image。
以我的形式我有2个按钮。一个用于上传product_profile的图片,另一个用于product_image中的图片。
,但是现在我有一个问题,如果else否。它之间是"//检查所有字段都不是空"
当我仅插入product_image文件时" else" if(neget($ imgfileproduct))"而无需插入profile_image" else" else if(empty($ imgfile))",这与消息正确奏效,请选择"请选择图像文件"。<</p>
但是,当我仅插入profile_image时,他会插入数据库中并在不检查product_image是否为空的情况下上传文件,我有关注消息"对不起,只有JPG,JPEG,JPEG,PNG,PNG&gif&gif文件2。"而不是"请选择图像文件。"
谢谢您的帮助。
<?php
error_reporting( ~E_NOTICE );
require_once 'dbconfig.php';
if(isset($_POST['btnsave']))
{
$catalogname = $_POST['catalog_name'];
$catalogmaker = $_POST['catalog_maker'];
$catalogtypes = $_POST['catalog_types'];
$catalogscale = $_POST['catalog_scale'];
$catalogedition = $_POST['catalog_edition'];
$imgFile = $_FILES['profile_image']['name'];
$tmp_dir = $_FILES['profile_image']['tmp_name'];
$imgSize = $_FILES['profile_image']['size'];
$imgFileProduct = $_FILES['product_image']['name'];
$imgSizeProduct = $_FILES['product_image']['tmp_name'];
$tmp_dirProduct = $_FILES['product_image']['size'];
//Check all fields are not empty
if(empty($catalogname)){
$errMSG = "Please Enter Product Name.";
}
else if(empty($catalogmaker)){
$errMSG = "Please Enter a Maker.";
}
else if(empty($catalogtypes)){
$errMSG = "Please Enter a Types.";
}
else if(empty($catalogscale)){
$errMSG = "Please Enter a Scale.";
}
else if(empty($catalogedition)){
$errMSG = "Please Enter a Edition.";
}
else if(empty($imgFile)){
$errMSG = "Please Select Image File.";
}
else if(empty($imgFileProduct)){
$errMSG = "Please Select Image File(S).";
}
//Check all fields are not empty
else
{
$upload_dir = 'product_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION));
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif');
$userpic= rand(1000,1000000).".".$imgExt;
if(in_array($imgExt, $valid_extensions)){
if($imgSize < 5000000){
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed3.";
}
if(!isset($errMSG)){
$stmt = $DB_con->prepare('INSERT INTO id_catalog(name,maker,types,scale,edition,pic) VALUES(:uname, :umaker, :utypes, :uscale, :uedition, :upic)');
$stmt->bindParam(':uname',$catalogname);
$stmt->bindParam(':umaker',$catalogmaker);
$stmt->bindParam(':utypes',$catalogtypes);
$stmt->bindParam(':uscale',$catalogscale);
$stmt->bindParam(':uedition',$catalogedition);
$stmt->bindParam(':upic',$userpic);
if($stmt->execute()){
$successMSG = "new record succesfully inserted ...";
header("refresh:5;index.php"); // redirects image view page after 5 seconds.
$last_id = $DB_con->lastInsertId();
echo "New record created successfully. Last inserted ID is: " . $last_id;
}
else{
$errMSG = "error while inserting....";
}
}
{
foreach($_FILES['product_image']['tmp_name'] as $key => $tmp_dirProduct ){
$imgFileProduct = $key.$_FILES['product_image']['name'][$key];
$imgSizeProduct =$_FILES['product_image']['size'][$key];
$tmp_dirProduct =$_FILES['product_image']['tmp_name'][$key];
$upload_dirProduct = 'product_images/';
$imgExtProduct = strtolower(pathinfo($imgFileProduct,PATHINFO_EXTENSION));
$valid_extensionsProduct = array('jpeg', 'jpg', 'png', 'gif');
$productpic= rand(1000,1000000).".".$imgExtProduct;
{
if(in_array($imgExtProduct, $valid_extensionsProduct)){
if($imgSizeProduct < 5000000){
move_uploaded_file($tmp_dirProduct,$upload_dirProduct.$productpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed2.";
}
if(!isset($errMSG)){
$stmt1 = $DB_con->prepare('INSERT INTO id_images(name_pic) VALUES(:uproductpic)');
$stmt1->bindParam(':uproductpic',$productpic);
if($stmt1->execute()){
$successMSG = "new record succesfully inserted ...";
header("refresh:5;index.php"); // redirects image view page after 5 seconds.
$last_id = $DB_con->lastInsertId();
echo "New record created successfully. Last inserted ID is: " . $last_id;
}
else{
$errMSG = "error while inserting....";
}
}
}
}
}
}
}
?>
可能是快速修复,
$product_images_count = sizeof($_FILES['product_image']);
for($i=0; $i<$product_images_count; $i++) {
$ProductimgFile = $_FILES['product_image'][$i]['name'];
$Producttmp_dir = $_FILES['product_image'][$i]['tmp_name'];
$ProductimgSize = $_FILES['product_image'][$i]['size'];
do_something_with_those_variables();
}