Php + Mysql + Multiupload图片文件

时间:2017-09-19 12:37:08

标签: php mysql multi-upload

我使用表单上传照片。 我有2个表,一个是product_profile,另一个是product_image。

在我的表格中,我有2个按钮。一个用于上传product_profile的图片,另一个用于上传product_image中的图片。

但是现在我对if有问题,否则if和else。介于" //检查所有字段是否为空"

当我仅为product_image&#34插入文件时;否则if(empty($ imgFileProduct))"没有插入profile_image"否则if(empty($ imgFile))"这与消息"请选择图像文件。"

正常工作

但是当我只为profile_image插入时,他插入数据库并上传文件,而不检查product_image是否为空,我有以下消息"对不起,只有JPG,JPEG,PNG&允许GIF文件2。"而不是"请选择图像文件(S)。"

感谢您的帮助,这一整天。

    <?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....";
            }
        }
    }
            }

        }

    }
    }

?>

1 个答案:

答案 0 :(得分:1)

快速修复可能是,

$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(); 
}