Vérification d'un fichier uploadé

Fermé
Utilisateur anonyme - Modifié par Lenden le 11/12/2011 à 12:51
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 - 11 déc. 2011 à 17:55
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?
A voir également:

2 réponses

MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
11 déc. 2011 à 13:40
Hello,
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;
}
}
?>
0
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..
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
11 déc. 2011 à 17:55
Tu tries ce que tu veux, tout est dedans !
0