Pass array to a php method

0

Colleagues.

I have a form where one of the fields is file multiple, that is, the user can send more than one photo to the database, but I need to pass the photos, if more than one, to the registration method. See below:

$nomeProduto = filter_input(INPUT_POST,"NomeProduto");
$valorProduto = filter_input(INPUT_POST,"ValorProduto");
......
$fotos = $_FILES["FotoProduto"]["name"];

$metodos->cadastrarProdutos($nomeProduto,$valorProduto,....,$fotos);

The method:

public function cadastrarProdutos($nomeProduto,$valorProduto,....,$fotos){
   // Aqui eu pegar todas as fotos que foram enviadas
}

How do I pass these photos to method? I thought about using foreach () and implode (", $ photos); and within the explode photos); . Would you have any other solution?

    
asked by anonymous 19.03.2017 / 21:54

1 answer

5

Sometimes it's simpler than we think. Instead of passing the $_FILES["FotoProduto"]["name"] as a parameter, simply pass $_FILES["FotoProduto"] and in the foreach you can use ["name"] as you like. Here's an example below:

foreach($_FILES["FotoProduto"] as $file) {
  if($file['size'])
    echo $file['name']."\n";
}

Then in your method you can do it this way:

$fotos = $_FILES["FotoProduto"];

public function cadastrarProdutos($nomeProduto,$valorProduto,....,$fotos){
   foreach($fotos as $file) {
      if($file['size'])
        echo $file['name']."\n";
    }
}
    
19.03.2017 / 22:44