上传两个文件,并且只有两个文件,并保存在php的不同文件夹中


Upload two and only two files and save in different folder in php

我有一个小的运行代码,但缺少零碎的代码。我希望能够上传两个文件(不少于,不多)并将它们保存在不同的文件夹中。这些文件是"exe"。

文件:文件 A,文件 B

文件 A 的文件路径:/home/abc/Downloads/createA/fileA

文件 B 的文件路径:/home/abc/Downloads/createB/fileB

问题是,我有表单,它允许多次上传,但不加载第二个文件。我所看到的只是第一个文件被上传并保存在/home/abc/Downloads/createA/fileA

法典:

  <?php
    if(isset($_FILES['files'])){
    $errors= array();
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
           //added from single upload
   if($file_size > 3000000){
        $errors[]='File size must be less than 3 MB';
    }       
   if(empty($errors)==true){
            echo  "Please make sure uploaded file name contains 'fileA' in the name";
            echo '<br/>';
   if(preg_match("/fileA/i", $file_name)){ 
           $upload_dir = "/home/abc/Downloads/createA/";
           $upload_dir_1 = "$upload_dir".$file_name;
           mkdir($upload_dir, 0777, true);
           move_uploaded_file($file_tmp,$upload_dir_1);
         // print_r($upload_dir);
         echo '<br/>';
         echo "Success ";
         echo "Stored in: " .$upload_dir;

   if (preg_match("/fileB/i", $file_name)){
        $upload_dir = "/home/abc/Downloads/createB/";
        $upload_dir_1 = "$upload_dir".$file_name;
        mkdir($upload_dir, 0777, true);
        move_uploaded_file($file_tmp, $upload_dir_1);
        echo '<br/>';
        echo "Loaded fileB";
        }
    else{
        echo "I am not uploading fileB";
    }
        }
    }
  else{
     echo "I am not loading fileA"; 
     print_r($errors);
     }
}

<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="files[]" /><br />
    <input type="file" name="files[]" /><br />
    <input type="submit"/>
</form>

此语句:

if(preg_match("/fileA/i", $file_name))

和这个声明:

if(preg_match("/fileB/i", $file_name))

应该单独评估,但目前您将第二个嵌套到第一个中