在多个文件中上传PHP中新文件夹中的单个文件

时间:2016-07-06 06:26:11

标签: php file-upload

在PHP中我上传了一个多文件。但我想将每个文件上传到不同的文件夹中。

我一次上传9个文件。

所以,目前的情景是: - 例如: - 主文件夹 - > pdf文件 - >所有上传的pdf文件

但我想: - 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-1。 再次, 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-2。 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-3。 ....... 所以在

这是我的upload.php文件: -

$output_dir = "pdf-files/";
if(isset($_FILES["myfile"]))
{
    $ret = array();

    $error =$_FILES["myfile"]["error"];
   {

        if(!is_array($_FILES["myfile"]['name'])) //single file
        {
            $fileName = $_FILES["myfile"]["name"];
            move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
            $ret[$fileName]= $output_dir.$fileName;

        }
        else
        {
                $fileCount = count($_FILES["myfile"]['name']);
                for($i=0; $i < $fileCount; $i++)
              {
                $fileName = $_FILES["myfile"]["name"][$i];
                $ret[$fileName]= $output_dir.$fileName;
              $ret[$fileCount] = $fileCount;
                move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName );
              }

        }
    }
    echo json_encode($ret);

}

1 个答案:

答案 0 :(得分:1)

在for循环的每次迭代中,将索引添加到output_dir作为新文件夹的名称。这样就可以为每个文件获取一个新文件夹。

$output_dir = "pdf-files/";
if(isset($_FILES["myfile"]))
{
 $ret = array();

 $error =$_FILES["myfile"]["error"];
{

    if(!is_array($_FILES["myfile"]['name'])) //single file
    {
        $fileName = $_FILES["myfile"]["name"];
        move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
        $ret[$fileName]= $output_dir.$fileName;

    }
    else
    {
            $fileCount = count($_FILES["myfile"]['name']);
            for($i=0; $i < $fileCount; $i++)
          {
            $fileName = $_FILES["myfile"]["name"][$i];
            $ret[$fileName]= $output_dir.$fileCount."/".$fileName;
          $ret[$fileCount] = $fileCount;
            move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileCount."/".$fileName );
          }

    }
}
echo json_encode($ret);
}