La logique est la suivante :
Le formulaire "encapsule" les données du/des fichiers joints car il est d"un type particulier.
Il pointe toujours sur un script (php) via sa balise action. Le script (php) peut alors :
- tester et traiter les fichiers joints (tester la taille , le type, copier, renommer...)
- faire des traitements classiques (mail, insertion base de données etc...)
Bon si tu veux tester en local il faut déjà vérifier que tu as bien le bon paramétrage dans le php.ini :
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "C:\Program Files\EasyPHP1-7\tmp\" <= Là tu mets ton répertoire temporaire. Ce n'est pas le répertoire de destination finale. En général ton script va récupérer le fichier sur ce répertoire pour le copier et le renommer dans le bon dossier genre http:\\www.monsite.com\fichiers
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M <= Là tu fixes la taille maximum
Ensuite tu peux donc t'inspirer au choix des exemples de code que je t'ai fourni ou du lien suivant :
http://www.toutestfacile.com/php/cours/ ... upload.php
C'est pas le point le plus facile mais une fois qu'on l'a fait une fois ça roule
J'ai parfois été obligé chez des hébergeurs de modifier en php (fonction chmod) les droits sur les fichiers transmis pour obtenir un fonctionnement correct.