Dans une chaîne de parameters GET ou une requête POST “x-www-form-urlencoded”, il est possible de spécifier un tableau de parameters en les nommant avec des parenthèses (par exemple “name []”).
Existe-t-il une méthode “correcte” (ou au moins une convention largement répandue) pour spécifier un tableau de parameters avec une requête POST “multipart / form-data”?
Serait-ce correct?
Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[]" first index --abc Content-Disposition: form-data; name="name[]" second index
Si cela varie selon la plate-forme, je suis intéressé par la convention pour Apache / PHP.
Si vous voulez un tableau associé, vous pouvez passer l’index dans le nom d’un champ de formulaire:
Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[first]" first value --abc Content-Disposition: form-data; name="name[second]" second value
Ensuite, au niveau php, print_r ($ _ POST) vous donnerait
Array ( [name] => Array ( [first] => 'first value', [second] => 'second value' ) )
Si vous êtes après un tableau ordonné normal, même chose que vous avez fait:
Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[]" first index --abc Content-Disposition: form-data; name="name[]" second index
Ensuite, au niveau php, print_r ($ _ POST) vous donnerait
Array ( [name] => Array ( [0] => 'first index', [1] => 'second index' ) )
Les parameters avec [] dans leurs noms traduisant en tableaux côté serveur est une fonctionnalité spécifique à PHP ( http://www.php.net/manual/en/faq.html.php#faq.html.arrays ).
En ce qui concerne le codage en plusieurs parties, vous pouvez en trouver plus dans RFC: http://www.ietf.org/rfc/rfc1867.txt