Welcome Guest, Not a member yet? Register   Sign In
Multiple file upload inputs to one controller function
#1

Hello guys, I hope somebody can help - I would greatly appreciate.
 I have multiple file upload inputs in a form in my view. I have managed to get the files to upload successfully, but I am writing out many versions of the same function for each file upload input (8 times).
Could somebody show me how to merge all of those into one function, please. Many thanks in advance!

 File inputs from the view... I have 8 of these inputs :
PHP Code:
<input type="file" name="fileuploads[service][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[shipment][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[collection[]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[weight][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[purchasing][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[invoice][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[costs][]" class=" form-control-xs" multiple >
<
input type="file" name="fileuploads[payments][]" class=" form-control-xs" multiple 


Functions in controller... I have only put two in for this example:
PHP Code:
if($this->request->getFileMultiple('fileuploads.service'))
          {
              $files $this->request->getFileMultiple('fileuploads.service');


              foreach ($files as $file) {

                  if ($file->isValid() && ! $file->hasMoved())
                  {
                      $newName $file->getRandomName();
                      $file->move(WRITEPATH.'uploads/service/'$newName);
                      $data = [
                          'shipment_id' => $new_id,
                          'filename' => $file->getClientName(),
                          'filepath' => 'uploads/service/' $newName,
                          'type' => $file->getClientExtension()
                      ];
                      $fileUploadModel = new FileUploadModel();
                      $fileUploadModel->save($data);
                  }
              }
            }

            if($this->request->getFileMultiple('fileuploads.shipment'))
            {
                $files $this->request->getFileMultiple('fileuploads.shipment');


                foreach ($files as $file) {

                    if ($file->isValid() && ! $file->hasMoved())
                    {
                        $newName $file->getRandomName();
                        $file->move(WRITEPATH.'uploads/shipment/'$newName);
                        $data = [
                            'shipment_id' => $new_id,
                            'filename' => $file->getClientName(),
                            'filepath' => 'uploads/shipment/' $newName,
                            'type' => $file->getClientExtension()
                        ];
                        $fileUploadModel = new FileUploadModel();
                        $fileUploadModel->save($data);
                    }
                }
              
Reply




Theme © iAndrew 2016 - Forum software by © MyBB