0

In PHP I am uploading a multiple file. But I want upload each file in different folder.

I Upload 9 file at a time.

So, Current Scenario is:- Ex:- Main folder -> pdf-files ->all uploaded pdf files

But I want as:- Main Folder->pdf-files->New Folder->pdf-file-1. Again, Main Folder->pdf-files->New Folder->pdf-file-2. Main Folder->pdf-files->New Folder->pdf-file-3. ....... So On

Here is my upload.php file:-

$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 Answer 1

1

In each iteration of your for loop, add the index to the the output_dir as the name of the New Folder.that way you get a new folder for every file.

$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);
}
Sign up to request clarification or add additional context in comments.

2 Comments

Can You write some code for me or else can you edit in my code?
Thank You so much.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.