<input type="file">: zone de sélection et d'envoi d'un ou plusieurs fichiersUne zone de de sélection et d'envoi d'un ou plusieurs fichiers se définit à l'aide d'un élément <input type="file"> (ou <input type="fichier">).
Contenu de l'élément <input type="file">L'élément <input type="file"> (ou <input>) peut posséder les sous-éléments suivants (ils ne sont pas obligatoires):
Ces sous-éléments peuvent être complétés par tous les éléments communs aux blocs, une question dans un formulaire étant considérée comme un bloc. Ceux-ci permettent de mettre en page la zone de sélection et d'envoi de fichier. il n'est pas possible, pour des raisons de sécurité, de donner une valeur par défaut à une zone de sélection et d'envoi de fichiers L'élément <input type="text"> peut posséder les attributs suivants (ils ne sont pas obligatoires):
Ces attributs peuvent être complétés par tous les attributs communs aux blocs, une question dans un formulaire étant considérée comme un bloc. Ceux-ci permettent de mettre en page la zone de sélection et d'envoi de fichier. Il est également possible d'utiliser les synonymes suivants:
|
Dans cet exemple, le titre "Sélectionner le fichier à envoyer:" sera affiché en regard d'une zone de saisie de texte. Un paramètre fichier sera envoyé à l'application distante lors de l'envoi du formulaire. Remarque: comme le montre cet exemple, la première lettre du libellé est forcée en majuscule et un : lui est automatiquement ajouté. Exemple <input type="file"> <nom>nom</nom> <libellé>entrez vos nom et prénom</libellé> </input> |
Dans cet exemple, un seul fichier pourra être sélectionné. Exemple <formulaire> <test/> <input type="file"> <nom>fichier</nom> <libellé>Sélectionner le fichier à envoyer</libellé> </input> <bouton> <label>envoyer</label> </bouton> </formulaire> |
Dans cet autre exemple, plusieurs fichiers pourront être sélectionnés. Si votre application est écrite en PHP, ce qui est le cas de cet exemple, il faut ajouter "[]" au nom du paramètre afin de récupérer la liste des fichiers envoyés sous la forme d'une Array (un tableau). Exemple <formulaire> <test/> <input type="file" multiple="oui"> <nom>fichier[]</nom> <libellé>Sélectionner le fichier à envoyer</libellé> </input> <bouton> <label>envoyer</label> </bouton> </formulaire> |
Dans cet exemple, les paramètres seront accessibles via _POST['nom'], _POST['prenom'] et _FILES['fichier']. Notez que cette dernière est également un tableau qui permet d'accéder aux informations sur le fichier reçu: _FILES['fichier']['name'], _FILES['fichier']['size']... (consultez la documentation de PHP pour plus d'informations). Exemple <formulaire> <test/> <input> <name>nom</name> <libellé>Votre nom</libellé> <valeur>Lampion</valeur> </input> <input> <name>prenom</name> <libellé>Votre prénom</libellé> <valeur>Séraphin</valeur> </input> <input type="file"> <nom>fichier</nom> <libellé>Sélectionner le fichier à envoyer</libellé> </input> <bouton> <label>envoyer</label> </bouton> </formulaire> |
Dans cet exemple, la sélection d'un fichier est obligatoire avant de pouvoir envoyer les données récoltées par le formulaire. Exemple <formulaire> <test/> <input type="file"> <nom>fichier</nom> <libellé>Sélectionner le fichier à envoyer</libellé> <obligatoire/> </input> <bouton> <label>envoyer</label> </bouton> </formulaire> |