Pass array to a php method

Asked

Viewed 55 times

0

Colleagues.

I have a form where one of the fields is file Multiple, IE, the user can send more than one photo to the database, but I need to pass the photos, if more than one, for the method of registration. 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 would I pass these photos to method? I thought to use the foreach() and the implode(","$$photos); and within the rescue method with the explodes(","$pictures,);. Would there be some other solution?

1 answer

5


Sometimes it is simpler than we think. Instead of you already pass as parameter the $_FILES["FotoProduto"]["name"], simply pass the $_FILES["FotoProduto"] and in the foreach you can use the ["name"] as you wish. See an example below:

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

So 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";
    }
}
  • 1

    Thank you Ack Lay.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.