Caractéristiques <<< |
Chargements de fichiers par méthode POST | Explication sur les messages d'erreurs de chargement de fichiers >>> |
5.3 Gestion des chargements de fichier 5 Caractéristiques Manuel PHP ->Chargements de fichiers par méthode POST . Explication sur les messages d'erreurs de chargement de fichiers . Erreurs classiques . Télécharger plusieurs fichiers simultanément . Chargement par méthode PUT |
5.3.1 Chargements de fichiers par méthode POST
Cette fonctionnalité permet aux personnes de télécharger à la fois du texte et des fichiers binaires. Avec les fonctions d'identifications et de manipulation de fichiers de PHP, vous avez le contrôle total pour définir qui a le droit de télécharger mais aussi ce qui sera fait du fichier une fois qu'il sera téléchargé. PHP est capable de recevoir des fichiers émis par un navigateur conforme à la norme RFC-1867 (c'est-à-dire Netscape Navigator 3 ou supérieur, Microsoft Internet Explorer 3 avec un patch de Microsoft, ou supérieur sans le patch).
PHP supporte aussi le chargement par la méthode PUT comme dans le navigateur Netscape Composer et Amaya du W3C. Reportez-vous au chapitre sur le support de la méthode PUT .
La variable globale $_FILES existe depuis PHP 4.1.0 (Utilisez $HTTP_POST_FILES si vous utilisez une version plus ancienne). Ce tableau devrait contenir toutes les informations du fichier téléchargé. Le contenu du tableau $_FILES est détaillé dans notre exemple ci-dessous. Notez que l'on suppose que le nom de la variable du fichier téléchargé est userfile , tel que défini dans le formulaire ci-dessus, mais peut être n'importe quel nom.
Le fichier téléchargé sera stocké temporairement dans le dossier temporaire du système, à moins qu'un autre dossier soit fourni avec la directive upload_tmp_dir du php.ini . Le dossier par défaut du serveur peut être changé dans l'environnement via la variable TMPDIR . Modifier la valeur de cette variable avec la fonction putenv dans un script PHP sera sans effet. Cette variable d'environnement peut aussi être utilisée pour s'assurer que d'autres opérations fonctionnent aussi sur les fichiers téléchargés.
Le script PHP qui reçoit le fichier chargé doit pouvoir gérer le fichier de manière appropriée. Vous pouvez utiliser la variable $_FILES['userfile']['size'] pour recaler tous les fichiers qui sont trop gros ou trop petits. Vous pouvez utiliser la variable $_FILES['userfile']['type'] pour écarter les fichiers qui n'ont pas le bon type, mais l'utilise uniquement pour une série de vérifications, car cette valeur est complètement sous le contrôle du client et n'est pas vérifiée du côté de PHP. Depuis PHP 4.2.0, vous pouvez utiliser l'information dans $_FILES['userfile']['error'] et adapter votre politique en fonction des code d'erreur . Quelque soit votre politique, vous devriez soit effacer le fichier du dossier temporaire, soit le déplacer. Si aucun fichier n'est sélectionné dans le formulaire, PHP retournera 0 dans $_FILES['userfile']['size'] et rien du tout dans $_FILES['userfile']['tmp_name'] . Le fichier sera automatiquement effacé du fichier temporaire à la fin du script, s'il n'a pas été déplacé ou renommé.
|
<< | Chargements de fichiers par méthode POST | >> |
Caractéristiques | Gestion des chargements de fichier | Explication sur les messages d'erreurs de chargement de fichiers |