upload en PHP

2,796 views
2,715 views

Published on

Upload en PHP

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,796
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

upload en PHP

  1. 2. <ul><li>Introduction </li></ul><ul><li>Configuration </li></ul><ul><li>Transfert des fichiers </li></ul><ul><li>Récupération et traitement </li></ul><ul><li>Sécurité </li></ul>PLAN
  2. 3. Deux ordinateurs reliés par une connexion Internet. Upload est une opération consiste a faire passer un fichier de l'ordinateur du visiteur vers le serveur . Introduction
  3. 4. <ul><li>Avant d'uploader les fichiers via PHP, il faut prendre en consideration quelques paramètres qui se trouvent dans php.ini. </li></ul><ul><ul><li>Sous Microsoft Windows : C:windowsphp.ini </li></ul></ul><ul><ul><li>Sous Linux : le chemin se diffère selon l'installation . </li></ul></ul>/usr/local/php /usr/local/php/lib/php.ini Configuration
  4. 5.   file_uploads(boolean) : Autorise ou non le chargement de fichiers par HTTP   upload_tmp_dir(String) : Le répertoire temporaire utilisé pour stocker les fichiers lors du chargement. Si non spécifié, PHP utilisera celui par défaut du système.   upload_max_filesize(Integer) : La taille maximale en octets d'un fichier à charger. Sa valeur est indiquè en octet(entier), sinon on peux utiliser la notation sténographique. post_max_size(Integer) : la taille maximale des données reçues par la méthode POST. Cette option affecte également les fichiers chargés. memory_limit(integer) : la mémoire limite qu'un script est autorisé à allouer. max_input_time(Integer) : la durée maximale pour analyser les données d'entrée, via POST, GET et téléchargement de fichier.   max_execution_time (Integer) : le temps maximal d'exécution d'un script, en Sec. Configuration
  5. 6.   Création du formulaire: Pour envoyer un fichier au serveur par formulaire, il faut préciser l'enctype, c'est à dire le type d'encodage du fichier. L'enctype à utiliser est multipart/form-data .. < form method=&quot; POST &quot; action=&quot;upload.php&quot; enctype=&quot; multipart/form- data &quot; > <!-- Le contenu du formulaire est à placer ici... --> </form> Transfert Des Fichiers
  6. 7.   Champ Fichier : Pour trouver le fichier, il faut permettre à l'utilisateur de choisir un fichier sur son disque dur en utilisant un champ du type File . < input type= &quot;File&quot; name= &quot;user_file&quot; > Limiter la taille du fichier Il faut créer un champ caché, sous le nom &quot;MAX_FILE_SIZE&quot; et dont la valeur est la taille maximale du fichier à uploader en octets. <input type= &quot;hidden“ name= &quot;MAX_FILE_SIZE&quot; value= &quot;100000&quot;> Transfert Des Fichiers
  7. 8. <ul><li>Mécanisme du récupération: </li></ul><ul><li>PHP s'occupe des données envoyées par le formulaire : </li></ul><ul><li>Les champs textuels (text, checkbox, select, textarea, ...) sont copiés dans le tableau superglobal $_POST </li></ul><ul><li>Les informations concernant les champs de type file sont enregistrées dans le tableau superglobal $_FILES </li></ul><ul><li>Les fichiers sont temporairement placés dans le dossier temporaire du serveur </li></ul>Récupération et Traitement
  8. 9. <ul><li>Mécanisme du récupération: </li></ul><ul><li>Les informations sur les fichiers envoyés sont contenues dans le tableau global $_FILES contient : </li></ul>Récupération et Traitement VARIABLE NOM $_FILES[‘user_file']['name'] Le nom original du fichier, tel que sur la machine du client. $_FILES[‘user_file']['tmp_name'] Le nom temporaire du fichier qui sera chargé sur la machine serveur $_FILES[‘user_file']['size'] La taille, en octets, du fichier téléchargé. $_FILES[‘user_file’]['type'] Le type MIME du fichier. Par exemple : « application/pdf » $_FILES[‘user_file']['error'] Le code d'erreur associé au téléchargement du fichier
  9. 10.   UPLOAD_ERR_OK (valeur =0): Aucune erreur, le téléchargement est correct UPLOAD_ERR_INI_SIZE (valeur=1): Le fichier téléchargé excède la taille de upload_max_filesize , configurée dans le php.ini .   UPLOAD_ERR_FORM_SIZE (valeur=2): Le fichier téléchargé excède la taille de MAX_FILE_SIZE , qui a été spécifiée dans le formulaire HTML.   UPLOAD_ERR_PARTIAL (valeur=3) : Le fichier n'a été que partiellement téléchargé.     UPLOAD_ERR_NO_FILE (valeur=4) : Aucun fichier n'a été téléchargé.   UPLOAD_ERR_NO_TMP_DIR (valeur=6): Un dossier temporaire est manquant.   UPLOAD_ERR_CANT_WRITE (valeur=7): Échec de l'écriture du fichier sur le disque. Récupération et Traitement
  10. 11. Upload: Lorsque le formulaire est envoyé, le fichier est envoyé sur le serveur dans un répertoire temporaire. après il faut le stocker d’une manière permanente dans un répertoire a l’aide des fonctions: is_upload_file() , move_uploaded_file() N.B : il faut accordé les droits d'écriture au répertoire(chmod). Récupération et Traitement
  11. 12. Le type de fichier : Par exemple, un génie essaie d’uploader un fichier PHP qui permet de récupérer des informations depuis notre serveur. La taille maximum de fichier: Un utilisateur peut enregistrer le formulaire sur son disque et modifier la valeur du champ &quot;MAX_FILE_SIZE&quot; . Sécurité

×