【问题标题】:How to Upload Multiple Images for multiple products at once如何一次为多个产品上传多个图像
【发布时间】:2017-04-12 13:13:55
【问题描述】:

我正在开发一个电子商务网站,该网站销售 T 恤印刷、咖啡杯印刷等产品。 我想为多个产品上传多个图像文件,但它不起作用我附上了我的 html 表单的屏幕截图以及该文件的 php 代码。

请帮我解决这个问题。 提前致谢。

<?php
if($_POST)
{
    $userid=$_SESSION['new_userid'];
    $date = date("Y-m-d H:i:s");
    foreach($_POST['productid'] as $row=>$productid)
    {
    $pid  = mysql_real_escape_string($productid);       
    $quantity = mysql_real_escape_string($_POST['quantity'][$row]);
    foreach($_FILES['file']['tmp_name'] as $key => $tmp_name )
{
        $file_name = time().$_FILES['file']['name'][$key][$row];
        $file_size =$_FILES['file']['size'][$key][$row];
        $file_tmp =$_FILES['file']['tmp_name'][$key][$row];
        $file_type=$_FILES['file']['type'][$key][$row]; 
        if($file_size > 199097152){
            $errors[]='File size must be less than 19 MB';
        }
        $desired_dir="uploads/orders/";
        if(empty($errors)==true){
            if(is_dir($desired_dir)==false){
                mkdir("$desired_dir", 0700);        // Create directory if it does not exist
            }
            if(is_dir("$desired_dir/".$file_name)==false){
                move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
            }else{                                  // rename the file if another one exist
                $new_dir="$desired_dir/".$file_name.time();
                 rename($file_tmp,$new_dir) ;               
            }
        }else{
                print_r($errors);
        }
            $tempArr[] = $file_name;

}
$files_360 .= implode('*',$tempArr);

//Project images            

    $insert = $DB_class->insert('orders',array("userid"=>$userid,"proid"=>$pid,"quantity"=>$quantity,"images"=>$files_360,"date"=>$date,"status"=>"pending"), '');


    }

}

?>

【问题讨论】:

    标签: php file-upload multifile-uploader


    【解决方案1】:

    我自己解决了这个问题

    <?php
        if($_POST)
        {
            $a = 1;
            $userid=$_SESSION['new_userid'];
            $date = date("Y-m-d H:i:s");
            foreach($_POST['productid'] as $row=>$productid)
            {
                    $tempArr = "";
                    $pid  = mysql_real_escape_string($productid);       
                    $quantity = mysql_real_escape_string($_POST['quantity'][$row]);
                    foreach($_FILES['multifile'.$a]['tmp_name']['file'] as $key => $tmp_name )
                    {
                        $file_name = time().$_FILES['multifile'.$a]['name']['file'][$key];
                        $file_size =$_FILES['multifile'.$a]['size']['file'][$key];
                        $file_tmp =$_FILES['multifile'.$a]['tmp_name']['file'][$key];
                        $file_type=$_FILES['multifile'.$a]['type']['file'][$key];   
                        if($file_size > 199097152){
                            $errors[]='File size must be less than 19 MB';
                        }
                        $desired_dir="uploads/orders/";
                        if(empty($errors)==true){
                            if(is_dir($desired_dir)==false){
                                mkdir("$desired_dir", 0700);        // Create directory if it does not exist
                            }
                            if(is_dir("$desired_dir/".$file_name)==false){
                                move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
                            }else{                                  // rename the file if another one exist
                                $new_dir="$desired_dir/".$file_name.time();
                                 rename($file_tmp,$new_dir) ;               
                            }
                        }else{
                                print_r($errors);
                        }
                            $tempArr[] = $file_name;
                            $files_360 = "";
    
    
                    }
                    $files_360 = implode('*',$tempArr);
    
        //Project images            
    
            $insert = $DB_class->insert('orders',array("userid"=>$userid,"proid"=>$pid,"quantity"=>$quantity,"images"=>$files_360,"date"=>$date,"status"=>"pending"), '');
    
            $a++;
            }
    
        }
    
        ?>
    

    这是我的html代码

    <input type="file" name="multifile<?php echo $pro_id; ?>[file][]" multiple> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多