Vérification d'un fichier uploadé
Utilisateur anonyme
-
MastercroW Messages postés 1094 Date d'inscription Statut Membre Dernière intervention -
MastercroW Messages postés 1094 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
dans un de mes formulaires, j'ai un input type file
(<input type="file" id="upImage" name="upImage" />)
où j'aimerais accepter uniquement des images, (parmis jpg,png et gif), vérifier qu'elles ne soient pas trop grande niveau résolution et niveau taille.
Alors sous PHP j'arrive à vérifier tout cela, mon autre souhait par contre, c'est de le vérifier directement après que l'utilisateur ait choisi son image, et du coup mettre un message d'erreur qui empêcherait aussi de faire "submit".
Je me demande quel est cet évènement, et je me dis que ce n'est faisable que sous javascript. Quelles seraient vos idées?
dans un de mes formulaires, j'ai un input type file
(<input type="file" id="upImage" name="upImage" />)
où j'aimerais accepter uniquement des images, (parmis jpg,png et gif), vérifier qu'elles ne soient pas trop grande niveau résolution et niveau taille.
Alors sous PHP j'arrive à vérifier tout cela, mon autre souhait par contre, c'est de le vérifier directement après que l'utilisateur ait choisi son image, et du coup mettre un message d'erreur qui empêcherait aussi de faire "submit".
Je me demande quel est cet évènement, et je me dis que ce n'est faisable que sous javascript. Quelles seraient vos idées?
A voir également:
- Vérification d'un fichier uploadé
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Hello,
Voici un script trouvé sur le net, une petite recherche et tu aurais trouvés !
Voici un script trouvé sur le net, une petite recherche et tu aurais trouvés !
<form method="POST" action="#" enctype="multipart/form-data"> <!-- On limite le fichier à 100Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> Fichier : <input type="file" name="avatar"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form> <?php if(isset($_POST['envoyer'])) { $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.png', '.gif', '.jpg', '.jpeg'); $extension = strrchr($_FILES['avatar']['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau { $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; } if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo 'Upload effectué avec succès !'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $erreur; } } ?>
Je pense que je me suis mal exprimé.
Là ce que tu m'as montré c'est un moyen de faire des vérifications après que l'utilisateur ait appuyé sur le bouton "submit" et quand il y a effectivement un $_POST... moi ce que je veux, c'est faire des vérifications avant que l'utilisateur valide son formulaire, c'est à dire juste après qu'il ait clické sur "parcourir" et ait sélectionné son image..
Là ce que tu m'as montré c'est un moyen de faire des vérifications après que l'utilisateur ait appuyé sur le bouton "submit" et quand il y a effectivement un $_POST... moi ce que je veux, c'est faire des vérifications avant que l'utilisateur valide son formulaire, c'est à dire juste après qu'il ait clické sur "parcourir" et ait sélectionné son image..