Php + Mysql + Multiupload Pics Files

Я использую форму для загрузки фотографий.
У меня есть 2 таблицы, одна из которых product_profile, а другая product_image.

В моей форме у меня есть 2 кнопки. Один для загрузки картинки для product_profile, а другой для Multiupload картинки в product_image.

Но теперь у меня есть проблема, если, иначе, если и еще. Это между «// Проверьте все поля не пустые»

Когда я вставляю файлы только для product_image «else if (empty ($ imgFileProduct))» без вставки для profile_image «else 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

Решение

Быстрое решение может быть,

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]